Membuat SSO untuk Vika

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

 

121 Total Views 1 Views Today
Views All Time
Views All Time
116
Views Today
Views Today
1

Article written by

This is your Bio

Leave a Reply

You must be logged in to post a comment.