使用多因素选项实施 Azure AD B2C

XML Configuration

探索 Azure AD B2C 自定义策略实施

将多种身份验证方法集成到 Azure AD B2C 中可增强安全性和用户灵活性。在用户需要在电子邮件、电话或身份验证器应用程序之间进行选择以进行多重身份验证 (MFA) 的场景中,自定义策略变得至关重要。这些策略允许定制用户旅程,适应各种身份验证首选项,确保无缝且安全的用户体验。

挑战通常在于 Azure 框架内的技术执行,特别是在将基于时间的一次性密码 (TOTP) 与其他方法集成时。成功地将这些选项合并到用户流程中需要精确配置和管理用户旅程,这通常会导致设置后出现持续的 MFA 选择提示等问题。

命令 描述
<ClaimType> 定义策略中的声明类型,指定数据类型、显示属性和限制。
<UserJourney> 描述用户在自定义策略中执行的步骤顺序。
<OrchestrationStep> 指定用户旅程中的单个步骤,包括其类型和顺序。
<Precondition> 定义执行编排步骤必须满足的条件,用于根据用户数据或之前的输入控制流程。
<ClaimsProviderSelections> 指定在用户旅程的某个步骤中可供选择的声明提供者。
<ClaimsExchange> 定义与声明提供者的声明交换,指定需要哪个提供者提供哪些声明。

解释 Azure AD B2C 自定义策略的集成

上面详述的脚本对于在 Azure AD B2C 中实现自定义多重身份验证 (MFA) 选项至关重要。使用 标签至关重要,因为它定义了用户可以选择的声明类型,例如电话、电子邮件或 TOTP(基于时间的一次性密码)。此声明类型还规定了用户可用的输入选项,使其成为创建动态且特定于用户的身份验证体验的基石。用户在此处所做的选择会影响其身份验证过程的流程,从而实现个性化的安全措施。

这 和 标签构建了整个登录或注册过程。每个编排步骤都可以包含前提条件,用于根据先前的输入或用户状态来指导流程。例如, 标签评估是否已设置特定声明(例如所选的 MFA 方法),并根据此评估,它可以跳过某些步骤以简化流程。这种自定义功能使 Azure AD B2C 能够适应各种用户场景和偏好,从而增强安全性和用户体验。

在 Azure AD B2C 中集成多重身份验证

自定义策略的 XML 配置

<ClaimType Id="extension_mfaByPhoneOrEmail">
    <DisplayName>Please select your preferred MFA method</DisplayName>
    <DataType>string</DataType>
    <UserInputType>RadioSingleSelect</UserInputType>
    <Restriction>
        <Enumeration Text="Phone" Value="phone" SelectByDefault="true" />
        <Enumeration Text="Email" Value="email" SelectByDefault="false" />
        <Enumeration Text="Authenticator App" Value="TOTP" SelectByDefault="false" />
    </Restriction>
</ClaimType>
<UserJourney Id="SignUpOrSignInMFAOption">
    <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
            <ClaimsProviderSelections>
                <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
            </ClaimsProviderSelections>
            <ClaimsExchanges>
                <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
            </ClaimsExchanges>
        </OrchestrationStep>
    </OrchestrationSteps>
</UserJourney>

用于保留 MFA 选择的脚本

XML 中的自定义策略配置

<OrchestrationStep Order="5" Type="ClaimsExchange">
    <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>email</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>phone</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>TOTP</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
    </Preconditions>
</OrchestrationStep>

Azure AD B2C 自定义策略的高级集成技术

要了解 Azure AD B2C 自定义策略的更深入的复杂性,需要探索这些策略如何与外部系统和 API 交互。 Azure AD B2C 中的自定义策略不仅可以处理用户身份验证,还可以配置为与外部 API 交互以增强验证过程或在身份验证过程中检索其他用户数据。此功能使组织能够实现超越典型 MFA 设置的复杂安全要求和条件访问场景。

例如,集成基于风险的身份验证,系统根据用户行为和外部威胁情报服务提供的附加上下文来评估与登录尝试相关的风险。这种先进技术利用 调用外部API并使用 根据API响应决定流量,根据实时评估动态增强安全性。

  1. 目的是什么 在 Azure AD B2C 自定义策略中?
  2. 这 定义了身份平台中用户交互期间可以收集、存储和操作的数据元素。
  3. 如何仅在特定条件下执行 MFA?
  4. 可以使用以下方式强制执行有条件的 MFA 内的标签 在提示 MFA 之前检查特定条件。
  5. Azure AD B2C 自定义策略可以调用外部 API 吗?
  6. 是的,他们可以通过使用与外部 API 交互 它允许策略发送和接收来自第三方服务的信息。
  7. 使用有什么好处 在 Azure AD B2C 中吗?
  8. 允许定义用户在身份验证过程中可以采用的自定义路径,并根据不同的用户案例和条件进行定制。
  9. 如何在 Azure AD B2C 中调试自定义策略?
  10. 可以通过在“开发”模式下上传策略来完成调试,启用详细的错误日志以帮助识别策略执行中的问题。

使用电子邮件、电话和 TOTP 身份验证选项实施 Azure AD B2C 不仅提供了灵活性,还通过允许用户选择自己喜欢的方法来增强安全性。配置这些选项的过程揭示了自定义策略在有效管理复杂身份验证场景方面的强大功能。集成这些系统的挑战在于保持用户友好性,同时确保强大的安全性,展示 Azure AD B2C 以可扩展的方式满足多样化需求的能力。