在Azure B2C中,是否可以配置多重身份验证以使用Microsoft身份验证器应用程序?
答案 0 :(得分:0)
此时, Azure AD B2C不支持与Microsoft身份验证器应用程序集成。
您应该通过feedback.azure.com中的Azure AD B2C forum
来申请答案 1 :(得分:0)
我被认为是现在可以做到的。这是Github示例的链接,该示例显示可以使用“自定义策略”对其进行配置。
https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-mfa-totp
万一它被拆除了,请按照以下步骤从2019-10开始:
使用Azure Active Directory(Azure AD)B2C,您可以集成基于TOTP的多重身份验证,以便可以在面向消费者的应用程序中为注册和登录体验添加第二层安全性。这需要使用自定义策略和自定义REST API端点。如果您已经创建了注册和登录策略,则仍然可以启用多重身份验证。
Azure AD B2C TOTP多因素身份验证解决方案代码示例中涉及以下组件:
上面运行,运行且配置正确的所有组件
Azure AD B2C b2clogin.com sign-in URL和JavaScript客户端已启用(在公共预览中)。若要在Azure AD B2C策略中启用JavaScript客户端代码,请执行以下操作:
.Net核心解决方案使用以下NuGet软件包:OtpSharp 和QRCode
该解决方案基于扩展属性。在这里阅读如何configure extension attributes。
下图描述了带有MFA注册和验证的登录流程。该解决方案基于TOTP。 TOTP是基于时间的一次性密码,该密码提供由REST API服务中运行的算法生成的临时密码。该算法使用秘密密钥(由REST API生成并存储在Azure AD B2C目录存储中)和当前时间戳(确保每个密码都是唯一的)的组合来生成密码(临时密码)。在注册和登录期间,用户将密码提供给Azure AD B2C以完成登录过程。秘密密钥在用户的身份验证器应用程序和REST API(存储在Azure AD B2C目录存储中)之间共享,从而使REST API可以验证密码。
在首次用户登录时或首次需要MFA时(例如访问高度机密数据),Azure AD B2C自定义策略(Henceforth B2C)会检查用户是否已经注册(extension_StrongAuthenticationAppSecretKey声明存在于Azure Active Directory身份存储的用户帐户)。如果不存在,则B2C调用REST API GenerateTOTP端点以为用户生成密钥和QR码。 REST API:
URI包含以下数据,并且可能包含更多数据,例如TOTP时间(默认为30秒)和大小(默认为6位数字): -协议-otpauth:// totp -用户名:B2CDemo:someone@contoso.com -秘密密钥:F4KRXSGXYBYT7BQ5THURPPH2RQ27JGSJ -发布者:Azure AD B2C演示
以下是此类URI的示例:
otpauth://totp/B2CDemo%3asomeone%40contos.com?secret=F4KRXSGXYBYT7BQ5THURPPH2RQ27JGSJ&issuer=Azure%20AD%20B2C%20Demo
REST API将注册信息返回给Azure AD B2C之后。用户将转到用户旅程中指定的下一个业务流程步骤。这个编排步骤将读取QR码(以base64格式),并使用JavaScript将QR码呈现为用户可以扫描的图像。
此时,用户需要下载并安装身份验证器应用程序(Microsoft,Google或任何其他身份验证器应用程序,例如Authy应用程序)。在Microsoft Authenticator中,单击“添加帐户”,选择帐户类型,然后扫描Azure AD B2C提供的QR码。
回到Azure AD B2C,用户需要在Azure AD B2C中复制并键入密码(赢得30秒的时间范围),然后单击“继续”。
当用户单击继续时,Azure AD B2C会调用REST API VerifyTOTP终结点。发送最终用户提供的代码,用户的秘密和比赛的最后时间(此数据来自用户的Azure AD帐户)。我们使用比赛的最后时间来防止并验证验证码已被使用。 REST API使用密钥和最后匹配时间来验证最终用户提供的代码。 如果验证码无效,则会向用户显示一个用户友好的错误,要求再次提供TOTP验证码。注意:由于TOTP代码在30秒钟内有效,因此用户可以提供新值。 Azure AD B2C将再次调用验证终结点,直到用户提供有效值为止。 下一步,Azure AD B2C将用户的密钥和上次匹配项存储在Azure Active Directory身份中
使用Stack Overflow获得社区的支持。首先在Stack Overflow上询问您的问题,然后浏览现有问题,看看以前是否有人问过您的问题。确保您的问题或评论都标有[azure-ad-b2c]。 如果您在示例中发现错误,请在GitHub Issues上提出问题。 要提供产品反馈,请访问Azure Active Directory B2C Feedback page。
注意:此示例策略基于SocialAndLocalAccounts starter pack。在策略XML文件中,所有更改都用 Demo:注释标记。在需要执行演示操作部分中进行必要的更改。
答案 2 :(得分:0)
这仅适用于Azure的“自定义策略”。
请点击以下链接访问该示例。 https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-mfa-totp
如果在配置给定示例时遇到任何困难,请遵循以下文章。 https://medium.com/@snkaushi_9371/enable-totp-based-multi-factor-authentication-in-azure-ad-b2c-84e967d76aa4