加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

jwt – Keycloak从数据库/外部源添加额外声明

发布时间:2021-04-04 02:13:50 所属栏目:编程 来源:网络整理
导读:我无法理解我从应用程序数据库中添加额外声明的方式.鉴于我的理解有限,我看到两种方式: 成功验证后,keycloak以某种方式从应用程序数据库中提取额外的声明.例如,这个app数据库是postgres. 让应用程序使用共享密钥使用额外声明更新jwt. 我想要两条路径的反馈.

我无法理解我从应用程序数据库中添加额外声明的方式.鉴于我的理解有限,我看到两种方式:

>成功验证后,keycloak以某种方式从应用程序数据库中提取额外的声明.例如,这个app数据库是postgres.
>让应用程序使用共享密钥使用额外声明更新jwt.

我想要两条路径的反馈.我觉得第一选择可能更安全.但是我不确定从哪里开始实施.

解决方法

在这里回答我自己的问题.我将这个问题交叉发布到Keycloak用户邮件列表( http://lists.jboss.org/pipermail/keycloak-user/2017-April/010315.html)并得到了一个合理的答案.

这是从我在那里收到的答案粘贴的.

我使用第一个选项.我使用协议映射器来完成它,这是一个方便的地方,因为令牌已经由keycloak构建但尚未签名.这是程序:

>用户登录>我的自定义协议映射器被调用,其中我覆盖transformAccessToken方法>在这里,我将协议映射器所在的客户端登录到keycloak中,作为服务.这里不要忘记使用另一个客户端ID而不是你正在构建协议映射器的客户端ID,否则你将输入无限递归.>我将访问令牌放入协议映射器中,然后调用应用程序的其余端点来获取额外的声明,这是有保证的>获取端点返回的信息并将其添加为额外声明

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读