带有 keycloak 的最小 jwt 令牌负载
Minimal jwt token payload with keycloak
在我的公司,我们正在尝试使用 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
您应该从默认客户端范围中删除除角色和 role_list 之外的所有内容。
通过添加脚本映射器,我们可以从有效负载中删除大量信息。
token.setIssuer(null)
删除 iss 键
token.notBefore(null)
将 nbf 键设置为 0
您可以查看令牌 JavaDoc 以获取有关可以更改的内容的更多信息。
在我的公司,我们正在尝试使用 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
您应该从默认客户端范围中删除除角色和 role_list 之外的所有内容。
通过添加脚本映射器,我们可以从有效负载中删除大量信息。
token.setIssuer(null)
删除 iss 键
token.notBefore(null)
将 nbf 键设置为 0
您可以查看令牌 JavaDoc 以获取有关可以更改的内容的更多信息。