【发布时间】:2021-01-02 23:25:29
【问题描述】:
我需要在 Keycloak 中实现授权机制,该机制根据角色查看我客户的数据库以获得用户的权限。
我无法在 Keycloak 的管理控制台中管理这些角色和权限,但我必须编写一些 SPI 来实现我的授权逻辑。类似于实现用户存储提供程序以在数据库中查找用户/密码验证。
但我找不到如何实现它。我认为,在身份验证过程中为用户获取有效令牌后,应用程序应发送该令牌以及执行操作所需的权限,以便 Keycloak(我自己的 SPI 实现)将验证令牌并搜索数据库以授予权限.
也许授权流程和我想的不一样(我之前写的)。
任何线索将不胜感激。
应用应该如何将token+权限发送给Keycloak?
如何实现响应此类请求并验证令牌的 SPI?
【问题讨论】:
-
您使用什么数据库来存储用户和角色?你有办法将 jar 部署到 keycloak 服务器吗?
-
@AbrahamCiokler 这是一个 Oracle 数据库,是的,我已经为 Keycloak 部署了一个用户存储提供程序,因此我可以在我的问题中提到的同一个数据库中对用户进行身份验证。我认为必须有一些类似于 User Storage Provider 的机制来做基于 DB 查询的资源访问授权。
标签: java authorization keycloak