新增身份驗證操作並設定回撥

  1. 將按鈕 Login as facebook account 新增到你的登入檢視:

在 views 資料夾中編輯 site/login.php,將這些行新增到頁面登入的內容中:

<?= yiiuthclient\widgets\AuthChoice::widget([
     'baseAuthUrl' => ['site/auth'],
     'popupMode' => false,
]) ?>

在上面,我們設定 SiteController 中的 auth 動作將處理 OAuth2 流程。

現在我們建立它。

class SiteController extends Controller
{
    public function `actions()`
    {
        return [
            'auth' => [
                'class' => 'yii\authclient\AuthAction',
                'successCallback' => [$this, 'onAuthSuccess'],
            ],
        ];
    }

    public function onAuthSuccess($client)
    {
        // do many stuff here, save user info to your app database
    }
}

我們使用 yii\authclient\AuthAction 建立 url 並重定向到 facebook 登入頁面。

功能 onAuthSuccess 用於獲取使用者資訊,登入到你的應用程式。