Yii2 框架 facebook 和 google 使用 authclient 登录不起作用

2022-01-07 00:00:00 php yii2

我已经按照这里的说明

我还附上了我的完整代码这是在我的 controller.php

 公共函数操作(){返回 ['错误' =>['类' =>'yiiwebErrorAction',],'认证' =>['类' =>'yiiauthclientAuthAction','successCallback' =>[$this, 'successCallback'],],];}

这是在查看页面

 ['网站/身份验证']]);?>

这在我的配置目录 main.php 文件中

 'authClientCollection' =>['类' =>'yiiauthclientCollection','客户' =>['脸书' =>['类' =>'yiiauthclientclientsFacebook','clientId' =>'********','clientSecret' =>'************',],],],

..请帮帮我..谢谢

解决方案

确保在您的 behaviours() 中允许访问 SiteController.php 中的操作auth"

所以你的规则应该看起来像:

'rules' =>[['动作' =>['登录','错误','认证'],'允许' =>真的,],['动作' =>['注销','索引'],'允许' =>真的,'角色' =>['@'],],],

i have followed the instruction here http://www.yiiframework.com/doc-2.0/yii-authclient-authaction.html.. and it's not working for me.. i am using yii2 authclient for social website facebook and google login ...it's not working for me. i am attached screen short .it's my login page

after clicking facebook or google button again the same page appeard in next new window pls see the image

and also i am attached my full code this is on my controller.php

 public function actions()
    {

        return [
            'error' => [
                'class' => 'yiiwebErrorAction',
            ],

            'auth' => [
                'class' => 'yiiauthclientAuthAction',
                'successCallback' => [$this, 'successCallback'],
            ],
        ];

    }

and this is on view page

 <?=
            yiiauthclientwidgetsAuthChoice::widget([
                'baseAuthUrl' => ['site/auth']
        ]); ?>

and this on my config directory main.php file

 'authClientCollection' => [
        'class' => 'yiiauthclientCollection',
        'clients' => [
               'facebook' =>[
                 'class' => 'yiiauthclientclientsFacebook',                      
                  'clientId' => '********',
                  'clientSecret' => '**********',
            ],
        ],
    ],

..please help me.. Thanks

解决方案

Make sure that in your behaviours() you allow access to the action "auth" in your SiteController.php

So your rules should look something like:

'rules' => [
    [
        'actions' => [ 'login', 'error', 'auth' ],
        'allow'   => true,
    ],
    [
        'actions' => [ 'logout', 'index' ],
        'allow'   => true,
        'roles'   => [ '@' ],
    ],
],

相关文章