Keycloak cookie:KEYCLOAK_SESSION、Oauth_token_request_state、KEYCLOAK_IDENTITY

Posted

技术标签:

【中文标题】Keycloak cookie:KEYCLOAK_SESSION、Oauth_token_request_state、KEYCLOAK_IDENTITY【英文标题】:Keycloak cookies : KEYCLOAK_SESSION,Oauth_token_request_state, KEYCLOAK_IDENTITY 【发布时间】:2018-11-08 09:58:23 【问题描述】:

谁能解释一下 Keycloak 设置的 cookie: KEYCLOAK_SESSION、Oauth_token_request_state、KEYCLOAK_IDENTITY。

每个 cookie 的相关性是什么?

【问题讨论】:

您从哪里检索到它们?他们的内容是什么? 【参考方案1】:

它们是供 Keycloak 内部使用的 cookie。

KEYCLOAK_IDENTITY 包含带有用户 ID 的令牌 (JWT)。您可以使用jwt.io(例如)查看其内容。此 cookie 与您的浏览器会话一起存在,也可以通过 SSO 刷新。 (例如,如果您在“管理我的帐户”中更改了某些个人数据)

KEYCLOAK_SESSION与相关领域关联的会话 ID。

Oauth_token_request_state 是 Oauth 规范的一部分,目的是避免登录后重定向链接被黑客入侵

【讨论】:

为什么这些 cookie 没有设置安全标志?有什么想法吗? 有人知道 KEYCLOAK_IDENTITY_LEGACY 是什么意思吗? Keycloak 自 2018 年以来发生了很大变化,cookie 管理发生了变化,您可能会在官方文档中找到比这篇文章更新鲜的答案:keycloak.org/docs/latest 有人告诉我,我将如何从 KEYCLOAK_IDENTITY 获取访问令牌?连接我们的后端服务。 遗留 cookie 用于处理 Chrome 中的 SameSite cookie 更改以及其他浏览器的遗留问题。它们实际上与非 LEGACY 版本相同,但使用不同的标志来处理旧版浏览器。

以上是关于Keycloak cookie:KEYCLOAK_SESSION、Oauth_token_request_state、KEYCLOAK_IDENTITY的主要内容,如果未能解决你的问题,请参考以下文章

我可以自己设置 KEYCLOAK_IDENTITY cookie

为啥 Keycloak 使用 Session-Cookie 而不是 JWT Authorization Header

Keycloak:使用新的 Chrome SameSite/Secure cookie 强制执行的令牌请求中缺少会话 cookie

Keycloak node.js 适配器不会在注销时使 connect.sid 会话 cookie 无效

Keycloak 返回已经过期的令牌

Keycloak REST API 403 被禁止