我无法理解我从应用程序数据库中添加额外声明的方式.鉴于我的理解有限,我看到两种方式:
我想要两条路径的反馈.我觉得第一种选择可能更安全.但是我不确定从哪里开始实施.
在这里回答我自己的问题。我将这个问题交叉发布到 Keycloak 用户邮件列表(http://lists.jboss.org/pipermail/keycloak-user/2017-April/010315.html)并得到了一个似乎合理的答案。
这是从我在那里收到的答案粘贴的。
我使用第一个选项。我使用协议映射器来完成此操作,这是一个方便的地方,因为令牌已经由 keycloak 构建,但尚未签名。这是程序:
用户登录
我的自定义协议映射器被调用,我在其中覆盖该transformAccessToken方法
在这里,我将协议映射器所在的客户端作为服务登录到 keycloak 中。这里不要忘记使用另一个客户端 ID,而不是您为其构建协议映射器的客户端 ID,否则您将进入无休止的递归。
我将访问令牌获取到协议映射器中,然后调用应用程序的其余端点来获取额外的声明,这是安全的
获取端点返回的信息并将其添加为额外声明
| 归档时间: |
|
| 查看次数: |
1639 次 |
| 最近记录: |