我一直在尝试hybridauth Yii与hybridauth extension一起工作。
问题是,当我想使用谷歌签名时,它只是将我重定向到http://mywebsite.com/site/login。
我正在使用htaccess从路径中删除“index.php”,并且还将index.html作为默认值(因为我只是测试yii并且不想显示它)它看起来像这样:
DirectoryIndex index.html index.php
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
Hybridauth扩展在模块部分的config / main.php中以这种方式配置:
'hybridauth' => array(
'baseUrl' => 'http://'. $_SERVER['SERVER_NAME'] . '/hybridauth',
'withYiiUser' => false, // Set to true if using yii-user
"providers" => array (
"google" => array (
"enabled" => true,
"keys" => array ( "id" => "xxxxxxxxxxxx.apps.googleusercontent.com", "secret" => "xxxxxxxxxxxxxxxxxxxxxxxx" ),
"scope" => ""
)
)
),
在谷歌控制台上我已经为网络应用程序创建了客户端ID,重定向URI就是这样:
http://mywebsite.com/hybridauth/default/callback?hauth.done=google
我找到了this:
配置文件“hybridauth.php”中的base_url应设置为 “/ hauth / endpoint”即它必须指向端点。如果你有 通过.htaccess删除index.php然后使用 “/index.php/hauth/endpoint”。
我试图将配置中的baseUrl设置为http://'. $_SERVER['SERVER_NAME'] . '/index.php/hybridauth
而没有运气。可能有什么不对?
答案 0 :(得分:0)
我忘记了我已将srbac模块的debug属性设置为false,因此未经授权的用户无法访问hybridauth。必须允许在srbac模块中使用hybridauth,以便每个人都可以访问它。
编辑: 我在srbac控制面板中找不到hybridauth模块,我刚刚将它添加到了允许列表中,请参阅我的回复here。