Spring Keycloak jwt map Create At Date to Token
Posted
技术标签:
【中文标题】Spring Keycloak jwt map Create At Date to Token【英文标题】: 【发布时间】:2020-04-14 14:18:17 【问题描述】:我正在开发一个带有 spring boot 的 rest api,并且我将 Keycloak 与 openid connect (Oauth2) 一起用于我的身份验证流程。 我想创建一个用于查询数据的端点。如果未设置“来自”时间图(我将其声明为可选),我想使用自帐户创建以来的数据。为了向 keycloak admin rest api 发出请求,我希望从令牌中获取此信息。 我查看了不同的内置范围(microprofile-jwt 等),但找不到特定的映射器。谷歌也无法帮助我。
我使用 Keycloak 6.0.1。 他的版本可以吗?或者我是否必须对 admin api 进行一次休息调用?
我知道我可以在我的属性中创建一个时间戳并将其映射到令牌中,但如果可能的话,我想使用 keycloak 自动创建
【问题讨论】:
【参考方案1】:可以通过在客户端或范围设置中创建新的映射器来实现。
首先打开映射器标签:
对于客户,请转到clients
- 选择客户 - Mappers
选项卡。
对于范围,请转到 scopes
-> 选择范围 - Mappers
选项卡。
创建新的映射器并填写以下字段:
名称 - 只是映射器的名称 类型 - 用户属性 属性 - createdTimestamp 令牌声明名称 - created_timestamp(您可以使用任何您喜欢的名称) 令牌声明类型 - 长对于范围映射器,您还必须将新创建的范围分配给客户端。
完成这些步骤后,您可以直接从访问令牌中获取用户创建的时间戳。
【讨论】:
以上是关于Spring Keycloak jwt map Create At Date to Token的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 微服务架构中使用 Keycloak 实现 JWT?
Spring Security OAuth - 它可以使用 Keycloak 中的 JWT 令牌吗