Spring Keycloak jwt映射将“在日期创建为令牌”

时间:2019-12-23 09:25:46

标签: spring oauth jwt token keycloak

我正在使用Spring Boot开发一个Rest API,并且我将带有Openid Connect(Oauth2)的Keycloak用于我的身份验证流程。 我想创建一个用于查询数据的端点。如果未设置“起始”时间映射(我将其声明为可选),则我想使用自创建帐户以来的数据。为了向keycloak admin rest api发出请求,我希望从令牌中获取此信息。 我看过不同的内置范围(microprofile-jwt等。),但是找不到特定的映射器。谷歌也帮不了我。

我使用Keycloak 6.0.1。 他的版本有可能吗?还是我需要花些时间致电admin api?

我知道我可以在属性中创建一个时间戳并将其映射到令牌中,但是如果可能的话,我想通过keycloak自动创建

1 个答案:

答案 0 :(得分:1)

可以通过在客户端或作用域设置中创建新的映射器来实现。

首先打开“映射器”标签:

  • 对于客户端,请转到clients-选择客户端-Mappers标签。
  • 对于作用域,请转到scopes->选择作用域-Mappers标签。

创建新的映射器并填写以下字段:

  • 名称-只是映射器的名称
  • 类型-用户属性
  • 属性-createdTimestamp
  • 令牌声明名称-created_timestamp(您可以使用任何喜欢的名称)
  • 令牌声明类型-长

对于范围映射器,还必须将新创建的范围分配给客户端。

完成这些步骤后,您可以直接从访问令牌获得用户创建的时间戳。