Php 混合身份验证和Yii导致重定向循环

Php 混合身份验证和Yii导致重定向循环,php,yii,hybridauth,hybridauthprovider,Php,Yii,Hybridauth,Hybridauthprovider,我正在尝试使用hybridauth在我的网站上实现twitter登录。 我知道Yii有一个混合身份验证插件。我没有使用它,因为我上次使用它时遇到了一些问题。我正在尝试实现混合身份验证的核心版本 我打电话来 $hybridauth = new Hybrid_Auth( Yii::app()->params['hybridauth'] ); $adapter = $hybridauth->authenticate( 'Twitter'); 但由于某种原因,它重定向到http://loc

我正在尝试使用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
中,我在index.php文件的顶部包含了
Hybrid/Auth.php
,您注意到配置中的基本url了吗?它是在身份验证期间返回回调的位置,您必须使用live web domain对其进行测试

“基本url”=>“http://localhost/yiiauth/authtest/“

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

我的测试网站上有hybridauth:

  • twitter和facebook的混合身份验证登录需要有效的域而不是本地主机

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

  • 将日志文件夹中hybridauth.log的权限设置为可写


  • 参考链接:

    日志是非常有用的信息。我有无限循环,因为我没有在控制台中注册Google+API,Hybrid Auth使用它来检查用户数据。多亏了日志才发现。