默认情况下,keycloak(此处为版本 11)提供有关获取令牌的领域的信息,仅解析令牌有效负载的 iss 属性。例如
{
"exp": ...,
"iat": ...,
"jti": "...",
"iss": "http://localhost:8088/idp-provider-context/auth/realms/realmname",
"aud": [...
Run Code Online (Sandbox Code Playgroud)
是否有一种构建方式(例如客户端映射器)可以将有关领域名称的信息直接作为专用属性添加到 JWT 令牌?
一种解决方法是向每个用户添加属性“realmname”并将该realmname 设置为值。但一方面,这似乎有点混乱,因为它是冗余信息。另一方面,这可以稍微加快应用程序的速度,因为没有此属性或其中错误值的令牌/用户可能已经被视为无效,而无需请求后端。这将识别未在为应用程序定义的所需流程中创建的用户。
我偶尔遇到这个话题,试图记住这是如何完成的,然后再次找到所有不完整的答案(使用配置文件、oneliners,忽略我们真的想使用自定义 CA 来创建完整的证书链等) . 许多答案将 SAN 应用于证书请求,但在签名命令中将 SAN 搞砸了......
我想做的事?
(是的,请不要在一个命令中做所有事情,我希望我的 CA 驻留在另一台机器上)(是的,这对于其他人来说可能再次不完整。但这正是我每年需要 1-2 次,当我的 DEV 环境中的简单自签名证书,我只是通过配置信任,是不够的)(是的,您可能想要实施额外的验证步骤,如果您不是作为一个人请求和签署证书的人)
问候帕特里克