添加身份验证操作并设置回调

  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 用于获取用户信息,登录到你的应用程序。