【发布时间】:2021-10-09 10:47:09
【问题描述】:
我已经使用官方文档中给出的 Spring Boot 示例在 Keycloak 中实现了用户存储 SPI。对于外部数据存储,我使用了 Sql Server。 Keycloak 用户 SPI 可以很好地验证 Sql Server 中存在的用户,我可以使用 Keycloak REST API 成功获取访问令牌。
现在我想为外部用户分配一个 keycloak 角色,但我不知道该怎么做。
如果需要有关该问题的更多详细信息,请随时提出。
这是我注册的用户联盟详细信息:
用户联盟:
注意:在使用 keycloak User SPI 登录过程中,这些函数被调用 getUserById() & getUserByEmail()/getUserByUserName()
【问题讨论】:
-
你试过了吗?如果你的 SPI 像你说的那样工作,Keycloak 应该为你处理映射。根本不需要实现任何东西。
-
是的,SPI 也在工作并验证用户,但没有将用户保存在 keycloak 内的用户存储中,我已经浏览了 2.3 次用户 SPI 文档,但找不到任何相关信息。
-
你在Keycloak的“用户”下看到用户还是认证成功后用户不见了?如果是这样,您缺少实现细节。你实现
UserStorageProvider了吗?
标签: java spring spring-boot keycloak keycloak-services