Keycloak注销后Offline Token失效,无法获取新AccessToken问题咨询
Keycloak Offline Token 注销后失效问题排查
操作错误点
你调用/openid-connect/logout接口时传入了Offline Token,这会直接触发Keycloak对该Offline Token的撤销机制——这就是控制台中Offline Token被移除、后续请求返回Offline user session not found的根本原因。
文档表述的正确解读
Keycloak文档中“即便用户已注销也可后续使用”的真实含义是:用户注销自身在线会话(比如前端发起的退出登录)时,不会影响已生成的Offline Token。此时用户的在线会话销毁,但Offline Token仍保持有效,应用可继续用它获取新的AccessToken。
正确操作流程
- 若要让用户注销在线会话,应传入用户的在线Refresh Token或ID Token调用
/logout接口,而非Offline Token。 - 只有当需要永久失效某个Offline Token时,才用它调用
/logout接口。
配置验证补充
除了你已确认的用户角色映射和客户端作用域,还需检查客户端基础配置:
- 客户端
Settings标签页中,Access Type需设为confidential或public,且已勾选Offline Access选项 - 客户端
Client Scopes设置中,offline_access已被添加到Default Client Scopes或Optional Client Scopes
内容的提问来源于stack exchange,提问作者Shane Rowatt
相关产品推荐
相关产品推荐

