我正在使用 HWI OAuth Bundle 来允许用户使用 Google Apps 登录。它允许用户按预期登录。
然而,大约 5 分钟后,cookie 过期并尝试重定向到 /login,但它陷入了无限重定向循环。它试图在端口 443 上加载 /login,但每次都返回一个 302 重定向到相同的 URL。如果我清除服务器上的 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% }
网址的结构使得:
- admin.example.com 上的所有内容都是安全的
- 任何其他子域上的所有内容都是公开的。子域是动态生成的。
nginx、Symfony2 或 FPM 日志中没有任何内容。我已经将相同的代码放在生产环境中的不同服务器上,并且发生了同样的事情。我无法确定它是安全捆绑包、HWI OAuth 捆绑包还是介于两者之间的东西。
那么,问题是哪种方法正在产生重定向,我该如何阻止它?