keydape中的java授权机制在数据库中查找角色/权限
我需要在keydape中实现授权机制,它根据角色查看客户的数据库中的用户权限
我无法在KeyClope的管理控制台中管理这些角色和权限,但我必须编写一些SPI来实现我的授权逻辑。类似于实现用户存储提供程序以在数据库中查找用户/密码自动验证
但我找不到如何实现它。我认为,在身份验证过程中为用户获得有效令牌后,应用程序应该发送该令牌以及执行操作所需的权限,以便keydape(我自己的SPI实现)验证令牌并搜索DB以授予权限
也许授权流程与我的想法(我以前写的)不同
任何线索都将不胜感激
应用程序应如何将令牌+权限发送到KeyClope
如何实现响应此类请求并验证令牌的SPI
# 1 楼答案
要回答您的第一个问题:keydepeat将为您处理授权流,您不必担心这一部分。您所需要做的就是通过实现
UserStorageProvider
接口的方法来提供用户存储SPI。 keydepate文档:https://www.keycloak.org/docs/latest/server_development/index.html#_user-storage-spi要添加角色/权限,还需要实现
UserModel
接口,该接口具有处理角色/权限的方法。密钥斗篷文档:https://www.keycloak.org/docs/latest/server_development/index.html#model-interfaces要将这两者结合起来,您可以使用
UserStorageProvider
从Oracle数据库获取用户记录,并填写UserModel
字段(电子邮件、姓名、角色等)Ex伪代码:
注意:有关更详细的演练,请参阅KeyClope文档:https://www.keycloak.org/docs/latest/server_development/index.html#simple-read-only-lookup-example
希望这能帮你找到正确的方向