我是 Keycloak 的新手,并尝试自定义登录阶段以添加动态参数作为用户会话注释。
在旧系统中,用户使用用户名、密码和附加参数登录 - 让我们称之为动态参数。
该动态参数在每个用户登录中可以不同,并且取决于用户。
当用户向服务发送请求时,它用于安全检查。
当转向 Keycloak 时,我尝试找到一种在登录阶段添加动态参数的方法,因此当使用令牌向服务发送请求时,该服务可以检索该动态参数并执行安全检查。
我没能找到一种方法来很好地利用 Keycloak 当前的功能。
是否可以通过 UsernamePasswordForm 添加任何执行流程来实现此目的?
我发现的最接近的事情是建议自行开发 Authenticator 的线程:
- 登录时添加属性 https://lists.jboss.org/pipermail/keycloak-user/2018-November/016231.html
- 如何在 UserSession 中添加自定义信息(会话注释) https://lists.jboss.org/pipermail/keycloak-user/2018-February/013141.html
最后,我通过实现 Authenticator 和 AuthenticatorFactory 创建了自定义身份验证器,将动态参数作为用户会话注释。
下列的如何创建自定义验证器 https://www.keycloak.org/docs/latest/server_development/#_auth_spi_walkthrough.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)