OAuth2,但需要多因素身份验证(MFA)



我有一个具有机密pii的应用程序(社会保险号,薪资信息)。我想使用户能够使用OAuth ID(Google,已链接)登录以方便,但要求这些帐户在身份提供商中启用了多因素身份验证,即如果用户未启用MFA,则通过OAuth2在OAUTH2中失败。他们的基本身份提供商帐户。这使我避免将我的机密信息暴露于弱的Gmail密码。

有什么方法可以做到吗?

不幸的是,否。
对于Google和LinkedIn,身份验证级别与特定范围没有链接。OAuth响应没有指定用户是否使用OTP令牌。

即使用户加入了MFA,用户也可以注册他用作可信赖的计算机,在这种情况下,Google也永远不会提示他进行OTP。此行为可能会阻止许多用户访问您的应用程序。

实际上,我相信您可以检查自己的会话/令牌,以查看它是否是通过Google,Twitter,Facebook等进行的,然后需要首次使用MFA/2FA/OTP那个令牌。这有意义吗?

您可以使用浏览器身份验证器运行自己的TOTP微服务,该验证器具有您需要在浏览器和节点身份验证器中生成和验证键和令牌的组件,该验证器具有互补的服务器端代码。

只需将自己的存储机制添加到微服务,更新会话/令牌和Viola,您就可以在其顶部添加两因素/多因素/一次性密码身份验证。

最新更新