3

我正在尝试使用 hybridauth 在我的网站上实现 twitter 登录。我知道 Yii 有一个混合身份验证插件。我没有使用它,因为我上次使用时遇到了一些问题。我正在尝试实现混合身份验证的核心版本。

我打电话

$hybridauth = new Hybrid_Auth( Yii::app()->params['hybridauth'] );
$adapter = $hybridauth->authenticate( 'Twitter');

但由于某种原因,它重定向到http://localhost/yiiauth/authtest/?hauth.start=Twitter&hauth.time=1350973441,这会导致重定向循环。有没有办法解决这个问题?我的混合身份验证配置如下:

'params'=>array(

    'hybridauth'=>array(
        "base_url" => "http://localhost/yiiauth/authtest/", 

        "providers" => array ( 
            "Twitter" => array ( 
                "enabled" => true,
                "keys"    => array ( "key" => "mykey", "secret" => "mysecret" ) 
            ),
        ),


        "debug_mode" => false,

        "debug_file" => "",
    )
),

我的 hybridauth 文件在里面/protected/extensions/hybridauth,我Hybrid/Auth.php在 index.php 文件的顶部包含了

4

2 回答 2

3
  1. twitter 和 facebook 的混合身份验证登录需要一个有效的域而不是 localhost。

  2. 您在配置文件“hybridauth.php”中的base_url应设置为“/hauth/endpoint”,即它必须指向端点。如果您已通过 .htaccess 删除了 index.php,请使用“/index.php/hauth/endpoint”。

  3. 将 Logs 文件夹中的 hybridauth.log 的权限设置为可写

参考链接:http ://hybridauth.sourceforge.net/userguide/Configuration.html

于 2012-11-06T05:06:38.497 回答
1

您注意到配置中的基本 url 了吗?它是在身份验证期间返回回调的地方,您必须使用实时 Web 域来测试它。

"base_url" => "http://localhost/yiiauth/authtest/",

twitter 也需要创建额外的令牌,我希望你已经这样做了。

我在我的测试网站上使用了 hybridauth:www.bemployable.com

于 2012-10-24T11:23:01.717 回答