gpt4 book ai didi

google-chrome - Keycloak:使用新的 Chrome SameSite/Secure cookie 强制执行 token 请求中缺少 session cookie

转载 作者:行者123 更新时间:2023-12-02 11:16:39 25 4
gpt4 key购买 nike

最近,我使用 Keycloak 的应用程序在身份验证后停止处理 400 token 请求。

到目前为止,我发现在 token 请求中,Keycloak cookie(AUTH_SESSION_ID、KEYCLOAK_IDENTITY、KEYCLOAK_SESSION)未在请求 header 中发送,导致 token 请求失败并且应用程序收到 session 错误。

通过深入挖掘,我发现 Chrome 现在阻止了没有设置 SameSite 属性的 cookie,keycloak cookie 就是这种情况,这就是为什么它们在身份验证后从未在 token 获取请求中解析的原因。

我得到的错误:-

enter image description here
https://blog.chromium.org/2019/10/developers-get-ready-for-new.html

https://adzerk.com/blog/chrome-samesite/

这是非常严重的,因为它阻止了 Keycloak 库保护的应用程序能够与 keycloak 服务器通信。

更新 : 使用新的 google chrome cookie SameSite 属性,任何使用 cookie 的第三方库没有正确设置 SameSite 属性,cookie 将被忽略。
https://blog.chromium.org/2019/10/developers-get-ready-for-new.html

https://www.chromium.org/updates/same-site

最佳答案

如果您在使用 keycloak-js 时遇到此问题适配器。
那么出现这个问题的原因:
默认情况下,JavaScript 适配器会创建一个隐藏的 iframe,用于检测是否发生了单点注销。这不需要任何网络流量,而是通过查看特殊状态 cookie 来检索状态。
解决方法(不是修复):
可以通过在传递给 init 方法的选项中设置 checkLoginIframe: false 来禁用此功能。
例如,
keycloak.init({
onLoad: '需要登录',
checkLoginIframe: 假
})

关于google-chrome - Keycloak:使用新的 Chrome SameSite/Secure cookie 强制执行 token 请求中缺少 session cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60622192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com