Keycloak中针对用户的多种身份验证方法

时间:2018-08-23 07:11:48

标签: keycloak

我想让我的用户选择使用哪种身份验证方法。例如,可以为他们提供菜单以选择选项(用户名/密码,用户名/密码+ OTP等)。 然后,Keycloak应该根据他们的选择为令牌分配特定范围。

这可能与Keycloak(可能通过某种方式利用auth方法链接)有关吗?我在文档中找不到这个,但对我来说似乎是一个合理的用例。

2 个答案:

答案 0 :(得分:3)

这是我的解决方案:

enter image description here

循环身份验证器是我提供了自定义实现的自定义身份验证器。 我使用了穿透机制,这意味着我第一个身份验证器实现了一种自定义形式:enter image description here

,它允许用户选择身份验证器并将用户的选择捕获到变量中。 以后,此变量在以下验证器中使用,以确定是进行验证还是将控制权传递给下一个验证器。

您可以在以下页面中了解有关身份验证SPI的更多信息:https://www.keycloak.org/docs/latest/server_development/index.html#_auth_spi

然后here,您将了解如何实现自定义身份验证器。

答案 1 :(得分:1)

这是我所做的,并且有效,

“我的目标是让客户能够选择身份验证流程,在基于 otp 的电子邮件和短信之间进行选择。”

我创建了一个新的身份验证流程,请看截图:

enter image description here

在两个流上都选择“替代”。

在登录表单上会出现新链接“尝试另一种方式

enter image description here

现在客户端可以在流之间进行选择。看截图:

enter image description here