我正在尝试使用hybridauth在我的网站上实现Twitter登录。 我知道Yii有一个混合auth插件。我没有使用它,因为我上次使用时遇到了一些问题。我正在尝试实现混合身份验证的核心版本。
我正在打电话
$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文件的顶部
答案 0 :(得分:3)
Twitter和facebook的混合身份验证登录需要有效的域名而不是localhost。
配置文件“hybridauth.php”中的 base_url 应设置为“/ hauth / endpoint”,即它必须指向端点。如果您已通过.htaccess删除了index.php,请使用“/index.php/hauth/endpoint”。
将Logs文件夹中hybridauth.log的权限设置为可写。
参考链接:http://hybridauth.sourceforge.net/userguide/Configuration.html
答案 1 :(得分:1)
您是否注意到配置中的基本网址?它是在auth期间返回回调的地方,您必须使用实时Web域来测试它。
“base_url”=> “http:// localhost / yiiauth / authtest /”,
此外,Twitter还需要创建额外的令牌,我希望您已经这样做了。
我在我的测试网站上工作过hybridauth:www.bemployable.com