在 Azure Active Directory B2C 自定义策略中定义电话因素技术配置文件

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

备注

在 Azure Active Directory B2C 中,自定义策略 主要用于解决复杂场景。 对于大多数场景,我们建议您使用内置的用户流。 如果未这样做,请通过 Active Directory B2C 中的自定义策略入门来了解自定义策略初学者包。

Azure Active Directory B2C (Azure AD B2C) 支持注册和验证电话号码。 此技术配置文件:

  • 提供一个用户界面,用于与用户交互以验证或注册电话号码。
  • 支持电话呼叫和短信来验证电话号码。
  • 支持多个电话号码。 用户可以选择要验证的电话号码之一。
  • 返回一个声明,指示用户是否提供了新的电话号码。 可以使用此声明来确定电话号码是否应保存到 Azure AD B2C 用户配置文件。
  • 使用 内容定义 来控制外观。

协议

“Protocol”元素的“Name”属性必须设置为 处理程序属性必须包含 Azure AD B2C 用于电话因素的协议处理程序程序集的完全限定名称:Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

以下示例显示了注册和验证的电话因素技术配置文件:

<TechnicalProfile Id="PhoneFactor-InputOrVerify">
  <DisplayName>PhoneFactor</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</TechnicalProfile>

输入声明转换

InputClaimsTransformations 元素可能包含用于修改输入声明或生成新声明的输入声明转换的集合。 以下输入声明转换生成一个 UserId 声明,该声明稍后在输入声明集合中使用。

<InputClaimsTransformations>
  <InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />
</InputClaimsTransformations>

输入声明

InputClaims 元素必须包含以下声明。 还可以将声明的名称映射到电话因子技术配置文件中定义的名称。

数据类型 必选 DESCRIPTION
字符串 是的 用户的唯一标识符。 声明名称或 PartnerClaimType 必须设置为 UserId。 此声明不应包含个人身份信息。
字符串 是的 声明类型列表。 每个声明都包含一个电话号码。 如果任何输入声明不包含电话号码,系统将要求用户注册并验证新的电话号码。 验证的电话号码作为输出声明返回。 如果其中一个输入声明包含电话号码,则要求用户对其进行验证。 如果多个输入声明包含电话号码,则要求用户选择并验证其中一个电话号码。

以下示例演示如何使用多个电话号码。 有关详细信息,请参阅 示例策略

<InputClaims>
  <InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="UserId" />
  <InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
  <InputClaim ClaimTypeReferenceId="secondaryStrongAuthenticationPhoneNumber" />
</InputClaims>

输出声明

OutputClaims 元素包含电话因子技术配置文件返回的声明列表。

数据类型 必选 DESCRIPTION
布尔 是的 指示用户是否输入了新的电话号码。 声明名称或 PartnerClaimType 必须设置为 newPhoneNumberEntered
字符串 是的 已验证的电话号码。 声明名称或 PartnerClaimType 必须设置为 Verified.OfficePhone

OutputClaimsTransformations 元素可能包含用于修改输出声明或生成新声明的 OutputClaimsTransformation 元素的集合。

加密密钥

不使用 CryptographicKeys 元素。

元数据

特征 必选 DESCRIPTION
ContentDefinitionReferenceId 是的 与此技术配置文件关联的 内容定义的 标识符。
ManualPhoneNumberEntryAllowed 指定是否允许用户手动输入电话号码。 可能的值:truefalse(默认值)。
setting.authenticationMode 验证电话号码的方法。 可能的值: smsphonemixed (默认值)。
setting.autodial 指定技术配置文件应自动拨号还是自动发送短信。 可能的值:truefalse(默认值)。 自动拨号要求将 setting.authenticationMode 元数据设置为 smsphone。 输入声明集合必须具有单个电话号码。
setting.autosubmit 指定技术配置文件是否应自动提交一次性密码输入表单。 可能的值为 true (默认值),或 false。 当自动提交关闭时,用户需要选择一个按钮来进度旅程。

UI 元素

手机因素身份验证页用户界面元素可以 本地化

后续步骤