带有密钥斗篷的最小jwt令牌有效载荷

时间:2019-10-21 14:03:26

标签: jwt keycloak-services

在我公司,我们正在尝试使用Keycloak生成具有最小有效负载的jwt令牌,该令牌仅具有用户,电子邮件以及令牌到期的角色。 我们需要使用此最小有效负载,因为我们有性能限制,我不想进一步解释。

有可能吗?以及如何?

我们正在使用Keycloak v7.0.0,并且尝试使用映射器进行其他操作以仅公开我们需要的内容,而没有成功。

编辑:通过删除默认范围内的所有内容,我仍然得到很多不需要的信息

{
  "jti": "ac6f9ed1-e33b-4204-affc-c5992c600ead",
  "exp": 1571741519,
  "nbf": 0,
  "iat": 1571741219,
  "iss": "http://keycloak:8080/auth/realms/test",
  "sub": "c530d809-fabf-44a7-b186-1d095321edf7",
  "typ": "Bearer",
  "azp": "web_app",
  "auth_time": 0,
  "session_state": "83ce24ff-9e2f-4775-ae2c-066935b7ffa9",
  "acr": "1",
  "scope": "openid"
}

我想要一个看起来像这样的有效载荷

{
 "exp": 1571741519,
 "email": "john@doe.com"
 "groups": ["ROLE_USER"]
}

我正在考虑添加身份验证器SPI

2 个答案:

答案 0 :(得分:0)

您应该从“默认客户端作用域”中删除除role和role_list外的所有内容。 enter image description here

答案 1 :(得分:0)

通过添加脚本映射器,我们可以从有效负载中删除很多信息。

token.setIssuer(null)

移除iss键

token.notBefore(null)

将nbf键设置为0

您可以查看令牌JavaDoc,以获取有关可能更改的更多信息。