我想用2FA保护高级别风险功能。从历史上看,我们使用 2FA短信。我想提出相同的功能,但理想情况下,我希望能够 还集成了原生的Keycloak OTP验证器(更安全)。 这就是为什么基于keycloak-sms-authenticator-sns https://github.com/nickpack/keycloak-sms-authenticator-sns> , 我有 改进了这个身份验证器(我会尽快提出合并请求)。
我在Keycloak 3.4.3文档中搜索过但使用相同的域名,我 当最终用户想要访问a时,没有看到任何要求2FA的功能 具体资源。 角色机制允许管理访问(403-200),但似乎不是 涵盖我的用例。 我不确定UMA 2.0是否可以提供此功能。它,它 尚未实施。 保证水平似乎很好,但它尚未实施,它会 很难做到。
我可以在业务应用程序中包含一个servlet过滤器(JBoss适配器) 在他想要访问资源时将用户路由到2FA身份验证器。 但在这种情况下,我必须在Keycloak和Java之间传播一个状态 适配器不要为每次访问询问2FA代码。 在集群模式(无状态服务)中可能有点棘手。
您是否有任何想法可以根据本机密钥泄露轻松覆盖此用例 特征? 如果情况并非如此,在您看来,最佳解决方案是什么(见 以上)? (最简单的可维护性集成,集群支持和2FA 技术不可知的)
感谢您分享您的经验。
答案 0 :(得分:3)
您似乎正在寻找一种升级身份验证。这还没有在Keycloak中实现,但是这个here还有现有的jira票。
还有一个关于mailinglist的讨论(也许还有一些我目前没有找到的其他主题)。
我偶然发现了一个" Conditional OTP Form Authenticator"来自Thomas Darimont,一位非常活跃的Keycloak社区委员。
HTH在某种程度上。