我一直在尝试使用hybridauth extension在Yii中使用 hybridauth 。
问题是当我想使用谷歌签名时,它只是将我重定向到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" => ""
)
)
),
在谷歌控制台上,我为 Web 应用程序创建了客户端 ID,重定向 URI 是这样的:
http://mywebsite.com/hybridauth/default/callback?hauth.done=google
我发现了这个:
您在配置文件“hybridauth.php”中的base_url 应设置为“/hauth/endpoint”,即它必须指向端点。如果您已通过 .htaccess 删除了 index.php,请使用“/index.php/hauth/endpoint”。
我试图将配置中的 baseUrl 设置为http://'. $_SERVER['SERVER_NAME'] . '/index.php/hybridauth
没有运气。有什么问题?