1

私はyiiでhybridauth extensionを使ってhybridauthを動作させようとしています。

問題は、Google を使用して署名したいときに、http://mywebsite.com/site/loginにリダイレクトされることです。

パスから「index.php」を削除するために htaccess を使用し、デフォルトとして 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"   => ""
            )


        )
    ), 

Google コンソールで 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" を使用します。

config で baseUrl を設定しようとしましたが、http://'. $_SERVER['SERVER_NAME'] . '/index.php/hybridauthうまくいきませんでした。何が間違っている可能性がありますか?

4

1 に答える 1

0

srbac モジュールのデバッグ プロパティを false に設定したことを忘れていたため、権限のないユーザーは HybridAuth にアクセスできません。Hybridauth は srbac モジュールで許可されている必要があるため、誰でもアクセスできます。

編集: srbac コントロール パネルで HybridAuth モジュールが見つかりませんでした。常に許可されているリストに追加したところです。こちらの回答を参照してください。

于 2013-08-26T17:54:28.783 に答える