OAuth2但需要多重身份验证(MFA)

时间:2015-05-17 20:25:21

标签: authentication oauth-2.0 single-sign-on

我有一个带有保密PII的应用程序(社会安全号码,工资单信息)。为方便起见,我希望用户能够使用OAuth ID(Google,Linked In)登录,但要求这些帐户在身份提供商中启用了多重身份验证,例如,如果用户未启用MFA,则无法通过OAuth2登录他们的基础身份提供者帐户这使我可以避免将我的机密信息暴露给弱GMail密码。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

不幸的是,没有。
对于Google和Linkedin,身份验证级别不与特定范围相关联。 Oauth响应未指定用户是否使用了OTP令牌。

即使用户注册了MFA,用户也可以将他正在使用的计算机注册为受信任的计算机,在这种情况下,Google绝不会提示他提供OTP。此行为可能会阻止许多用户访问您的应用程序。

答案 1 :(得分:1)

实际上,我相信您可以检查自己的会话/令牌,看看它是通过Google,Twitter,Facebook等完成的,然后在第一次使用该令牌时需要MFA / 2FA / OTP。这有意义吗?

您可以使用Browser Authenticator运行自己的TOTP微服务,其中包含您需要在浏览器中生成并验证密钥和令牌的组件以及具有补充服务器端代码的Node Authenticator

只需添加您自己的存储机制和https调用微服务,更新会话/令牌和中提琴,您就可以在其上添加双因素/多因素/一次性密码身份验证。