1

我一直在尝试使用hybridauth extensionYii中使用 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没有运气。有什么问题?

4

1 回答 1

0

我忘记了我已将 srbac 模块的 debug 属性设置为 false,因此未经授权的用户无法访问 hybridauth。必须在 srbac 模块中允许混合身份验证,以便每个人都可以访问它。

编辑:我在 srbac 控制面板中找不到 hybridauth 模块,我刚刚将它添加到所有允许列表中,请参阅我的回复

于 2013-08-26T17:54:28.783 回答