Membuat Login SSO(Single Sign On)

Hello semua,

Pada kesempatan kali ini Yoyo akan sharing bagaimana cara membuat Login Google atau SSO(Single Sign On).

  • Install Extension yii2-authclient pada project anda. Pastikan anda sudah menginstall yii2-authclient extension pada project anda jika belum bisa lihat Disini. Dan tambahkan extension dibawah ini pada file composer.json.

"yiisoft/yii2-authclient": "*"

  • Kemudian ubah file web.php pada folder config dan tambahkan script dibawah ini:

 

'authClientCollection' => [
              'class' => 'yii\authclient\Collection',
              'clients' => [ 
                    
                    'google' => [
      		    'class' => 'yii\authclient\clients\GoogleOAuth',
                    'clientId' => 'Isikan ClientId Kamu',
                    'clientSecret' => 'Isikan ClientSecret Kamu',
                ],
            ],
        ],

  • Buat ClientID dan ClientSecret console.developers.google.com. Create new project pada API Manager dan create credentials. Kemudian isikan Authorized JavaScript origins dan Authorized redirect URIs lalu save.
  • Pada Tab Authorized JavaScript origins => “isikan domain anda” dan Authorized redirect URIs => “Domain anda /web/index.php/site/auth?authclient=google

  • Buat action AuthAction pada file 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
    }
}
  • Buka folder Views/site/login.php kemudian tambahkan button untuk login SSO

  • Dan SSO(Single Sign On) sudah bisa dilakukan. Berikut ini adalah tampilannya:

Sekian cermi saya mengenai login SSO. Semoga dapat bermanfaat.

Terimakasih 🙂

 

 

 

Views All Time
Views All Time
432
Views Today
Views Today
2
448 Total Views 2 Views Today

9 Responses

Leave a Reply

You must be logged in to post a comment.