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 バンドルなのか、またはその中間なのかはわかりません。
では、問題はどのメソッドがリダイレクトを生成しているのか、どうすればそれを停止できるのかということです。