Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环
Posted
技术标签:
【中文标题】Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环【英文标题】:Keycloak : Redirection loop using javascript adapter behind nginx 【发布时间】:2019-06-17 05:25:06 【问题描述】:我有一个 javascript 客户端使用 OIDC 对 keycloak 进行身份验证。
身份验证在开发环境中工作正常,但在客户端和后端之间使用反向代理(包括 keycloak)时以重定向循环结束
看起来身份验证成功(/token
请求以 http 200 结束,响应包括所有令牌)但随后login-status-iframe.html
没有检测到它成功并一次又一次地重新启动身份验证流程
这里有什么问题(nginx配置?)
【问题讨论】:
这可能是由反向代理引入的跨域问题,您可能需要查看X-Frame-Options
标头或确保 iframe 来自同一域。
【参考方案1】:
我们找到了解决方案。 问题来自我们设置为 HttpOnly 的 cookie:这似乎阻止了 iframe 访问会话数据并强制 iframe 重新进行身份验证,从而导致无限循环。
仅在此 cookie 上停用 HttpOnly 标志 解决了问题。
【讨论】:
您是如何以及在何处禁用 httpOnly cookie 标头的? 能否请您指定在哪里进行此设置? @Alexandre-combe 你能解释一下你在哪里做的这个改变。我们遇到了类似的问题。以上是关于Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环的主要内容,如果未能解决你的问题,请参考以下文章
Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环
docker 中 nginx 后面的 Keycloak 导致 404 和不定式重定向
keycloak 无效参数:redirect_uri 在反向代理后面
在 Nginx 代理后面时,Keycloak Docker Instace 中的 X-Frame-Options 拒绝加载