Pat*_*ick 4 access-token jwt keycloak
默认情况下,keycloak(此处为版本 11)提供有关获取令牌的领域的信息,仅解析令牌有效负载的 iss 属性。例如
{
  "exp": ...,
  "iat": ...,
  "jti": "...",
  "iss": "http://localhost:8088/idp-provider-context/auth/realms/realmname",
  "aud": [...
是否有一种构建方式(例如客户端映射器)可以将有关领域名称的信息直接作为专用属性添加到 JWT 令牌?
一种解决方法是向每个用户添加属性“realmname”并将该realmname 设置为值。但一方面,这似乎有点混乱,因为它是冗余信息。另一方面,这可以稍微加快应用程序的速度,因为没有此属性或其中错误值的令牌/用户可能已经被视为无效,而无需请求后端。这将识别未在为应用程序定义的所需流程中创建的用户。
使用 Replace 代替用户属性Client Mapper。为此,请访问:
realmclientsclient您的用例的(对于旧的 Keycloak UI)
MappersCreateMapper type选择中Hardcoded claimToken Claim Name为realm nameClaim value为the name of the realmSave(对于新的 Keycloak UI)
Client ScopesConfigure a new mapper(或Add Mapper>  By configuration如果您之前已经为此客户端创建了映射器)Hardcoded claimToken Claim Name为realm nameClaim value为the name of the realmSave该客户端将是您用于进行身份验证的客户端。
| 归档时间: | 
 | 
| 查看次数: | 2242 次 | 
| 最近记录: |