2

HWI OAuth バンドルを使用して、ユーザーが Google Apps にログインできるようにしています。これにより、ユーザーは期待どおりにログインできます。

ただし、約 5 分後に Cookie の有効期限が切れ、/login にリダイレクトしようとしますが、無限のリダイレクト ループに陥ります。ポート 443 で /login を読み込もうとしていますが、毎回同じ URL に 302 リダイレクトを返します。サーバーの Symfony キャッシュをクリアするか、ブラウザーの Cookie をクリアすると、ログイン ページが表示され、再び機能します。

// security.yml:

firewalls:
    secured_area:
        anonymous:                          ~
        oauth:
            resource_owners:
                google:                     "/login/check-google"
            oauth_user_provider:
                service:                    my.security.userprovider
            login_path:                     /login/
            failure_path:                   /login/
        form_login:
            login_path:                     /login/
        logout:
            path:                           /logout
            target:                         /login/

access_control:
    - { path: ^/(_(profiler|wdt)|css|images|js)/, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/connect, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, role: ROLE_STAFF, host: %cms% }

URL は次のように構成されています。

  • admin.example.com のすべてが保護されています
  • 他のサブドメインのすべてはパブリックです。サブドメインは動的に生成されます。

nginx、Symfony2、または FPM のログには何もありません。実稼働環境の別のサーバーに同じコードを配置しましたが、同じことが起こります。セキュリティ バンドルなのか、HWI OAuth バンドルなのか、またはその中間なのかはわかりません。

では、問題はどのメソッドがリダイレクトを生成しているのか、どうすればそれを停止できるのかということです。

4

1 に答える 1