6

我想用 2FA 保护高级别风险功能。从历史上看,我们使用 2FA SMS。我想提出相同的功能,但理想情况下,我希望能够集成本地 Keycloak OTP 身份验证器(更安全)。这就是为什么基于 keycloak-sms-authenticator-sns https://github.com/nickpack/keycloak-sms-authenticator-sns> ,我改进了这个身份验证器(我会尽快提出合并请求)。

我在 Keycloak 3.4.3 文档中进行了搜索,但使用相同的领域,当最终用户想要访问特定资源时,我没有看到任何询问 2FA 的功能。角色机制允许管理访问(403 - 200),但它似乎没有涵盖我的用例。我不确定 UMA 2.0 是否可以提供此功能。此外,它尚未实施。保证水平似乎很好,但尚未实施,而且很难做到。

我可以在业务应用程序(JBoss 适配器)上包含一个 servlet 过滤器,以便在用户想要访问资源时将其路由到 2FA 身份验证器。但在这种情况下,我必须在 Keycloak 和 Java 适配器之间传播一个状态,以免每次访问都询问 2FA 代码。在集群模式下(无状态服务)可能有点棘手。

您有什么想法可以根据本机 keycloak 功能轻松涵盖此用例吗?如果不是这种情况,您认为最好的解决方案是什么(见上文)?(可维护性、集群支持和 2FA 技术不可知的最简单集成)

感谢您分享您的经验。

4

2 回答 2

5

看来您正在寻找一种 Step-up 身份验证。这还没有在 Keycloak 中实现,但是这里有一个现有的 jira

邮件列表上也已经有讨论(可能还有一些我目前没有找到的其他线程)。

我还偶然发现了来自非常活跃的 Keycloak 社区提交者 Thomas Darimont的“ Conditional OTP Form Authenticator ”。

HTH 在某种程度上。

于 2018-03-23T07:07:41.427 回答
1

Keycloak 将在下一版本(keycloak 版本 17)中支持 OOTB 升级认证。现在这个功能还没有正式发布,但是你可以测试它从源代码构建keycloak(分支:main)。

另一方面,这里是关于Keycloak step-up authentication-for Web Apps and API的文章,其中有一些发现,也许它会对你有所帮助。

于 2022-01-19T12:16:36.967 回答