Hai TimUR, jangan bosen ya dengan cermi Yoke. Kali ini Yoke ingin share bagaimana caranya agar kita dapat langsung SSO tanpa perlu ribet mengetik username dan password. Oke langsung mulai saja ya.
1. Install extension untuk yii2-authclient
Pastikan anda sudah menginstall yii2-authclient extension pada aplikasi anda, jika belum bisa cek disini.
2. Ubah file web.php pada folder config
Tambahkan script dibawah ini pada file web.php dibagian components
3. Buat ClientID dan Secret ID pada Console developer google
Buka console.geveloper.googleapis.com, create new project menggunakan project anda, pilih API Manager, kemudian klik credentials, dibagian OAuth klik new ClientID.
Pada bagian Authorized Javascript origins masukkan nama Domain Anda. Dan pada bagian Authorized Redirect URI’s masukkan link namaDomainAnda/mau_di_redirect_kemana
Dalam aplikasi Yoke akan di redirect ke :
http://vika.raharja.info/basic/web/index.php/site/auth?authclient=google
Setelah itu Save dan pastikan ingat ClientID dan SecretID. Note ClientID dan SecretID bersifat privacy, jangan beritahu siapapun.
4. Buat action AuthAction pada controller
Tambahkan script ini pada SiteController
class SiteController extends Controller { public function actions() { return [ 'auth' => [ 'class' => 'yii\authclient\AuthAction', 'successCallback' => [$this, 'successCallback'], ], ]; } public function successCallback($client) { $attributes = $client->getUserAttributes(); // user login or signup comes here } }
5. Tambahkan Button Login With Google
Masukkan code berikut untuk membuat Button Login
<?= yii\authclient\widgets\AuthChoice::widget([ 'baseAuthUrl' => ['site/auth'] ]) ?>
Dan SSO pun sudah dapat dilakukan, berikut hasilnya