我想使用2FA保护高级风险功能。历史上,我们使用
2FA SMS。我想提出相同的功能,但理想情况下,我希望能够
集成 native 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代码。
在集群模式(无状态服务)中,这可能会有些棘手。
您是否有任何想法可以根据 native keystore 轻松涵盖此用例
特征?
如果不是这种情况,您认为最好的解决方案是什么(请参阅
以上)? (最易于集成的可维护性,集群支持和2FA
不可知的技术)
感谢您分享经验。
最佳答案
看来您正在寻找一种逐步验证。 Keycloak尚未实现此功能,但是此here已经有一个jira票证。
关于mailinglist(可能还有我目前未找到的其他一些线程)的讨论也已经开始。
我还偶然发现了一位非常活跃的Keycloak社区创建者Thomas Darimont的“Conditional OTP Form Authenticator”。
HTH以某种方式。