密钥斗篷登录拦截器/过滤器



我有一个要求,在成功登录后,自定义/扩展Keycapture服务器返回的JWT令牌。额外的数据将存储在外部服务中,所以我需要以某种方式拦截/后过滤请求->用REST调用额外的数据->修改JWT令牌->返回响应。有人能给我一些信息吗?做这件事最好的方法是什么?

您可以将自己的数据添加到令牌中,但该令牌是经过签名的(通常通过私钥进行签名,私钥保存在Keycloft中(。因此,添加到令牌中的任何附加数据都会使签名无效=您将创建无效的令牌。在Keycloft之外修改令牌不是一个好主意。检查密钥斗篷映射器-它们通常用于向令牌中添加更多细节。

转到客户端:映射器:添加新的映射器:

名称:extraInfo

映射器类型:用户属性

用户属性:extraInfo

代币声明名称:extraInfo

声明JSON类型:字符串

添加到ID令牌:开启

添加到访问令牌:开启

添加到用户信息:打开

多值:开启

聚合属性值:ON

转到组:创建/选择组:属性:

密钥:extraInfo

value:{"name":"我们使用JSON格式作为属性","id":"仅限任何标识符"}

将用户分配到该组

重新登录,检查JWT令牌https://jwt.io/,你应该得到"extraInfo">

最新更新