Keycloak 18.0获取的Access Token缺少auth_time声明如何解决?
让Keycloak 18.0.0密码模式返回的Access Token包含auth_time声明的配置方法
1. 开启领域级的auth_time声明开关
- 登录Keycloak管理控制台,进入目标Realm
- 左侧导航栏选择「领域设置」,切换到「令牌」标签页
- 找到「Include auth time」选项并勾选,点击页面底部的「保存」按钮
2. 确保客户端范围包含auth_time声明(若第一步未生效时操作)
- 进入目标客户端的配置页面,切换到「客户端范围」标签页
- 选择当前客户端关联的默认范围(通常是
roles),进入其配置页面 - 切换到「映射器」标签页,点击「创建」按钮:
- 映射器类型选择「用户属性」
- 填写名称(如「Auth Time」)
- 用户属性:
auth_time - Token声明名称:
auth_time - 声明JSON类型:
long - 勾选「添加到访问令牌」,其余选项保持默认,点击「保存」
3. 验证配置
重新发起grant_type=password的认证请求,解析返回的access token,即可看到auth_time声明已包含在内。
内容的提问来源于stack exchange,提问作者Madel
相关产品推荐
相关产品推荐

