Compartir a través de

ClaimsProviders

注意

在 Azure Active Directory B2C 中,自定义策略主要用于解决复杂的情况。 在大多数情况下,建议你使用内置用户流。 如果尚未这样做,请从 Active Directory B2C 中的自定义策略入门了解自定义策略新手包。

声明提供程序是一个接口,用于通过其技术配置文件与不同类型的参与方通信。 每个声明提供程序必须包含一个或多个用于确定终结点的技术配置文件,以及与该声明提供程序通信所需的协议。 一个声明提供程序可以包含多个技术配置文件。 例如,由于声明提供程序需要支持多个协议和具有不同功能的各种终结点,或者需要在不同的保障级别发布不同的声明,因此可以定义多个技术配置文件。 可以接受在一个用户旅程中发布敏感声明,但不接受在另一个用户旅程中发布此类声明。

用户旅程通过业务流程步骤结合调用技术配置文件来定义业务逻辑。

<ClaimsProviders>
  <ClaimsProvider>
    <Domain>Domain name</Domain>
    <DisplayName>Display name</DisplayName>
    <TechnicalProfiles>
      </TechnicalProfile>
        ...
      </TechnicalProfile>
        ...
    </TechnicalProfiles>
  </ClaimsProvider>
  ...
</ClaimsProviders>

ClaimsProviders 元素包含以下元素:

元素 出现次数 说明
ClaimsProvider 1:n 经认可的声明提供程序,可在各种用户旅程中使用。

ClaimsProvider

ClaimsProvider 元素包含以下子元素:

元素 出现次数 说明
0:1 一个字符串,包含声明提供程序的域名。 此域名用于声明提供程序中定义的所有技术配置文件,除非被技术配置文件覆盖。 域名也可以在 domain_hint 中引用。 有关详细信息,请参阅使用 Azure Active Directory B2C 设置直接登录将登录重定向到社交提供者部分。
DisplayName 1:1 包含声明提供程序名称的字符串。
TechnicalProfiles 0:1 声明提供程序支持的一组技术配置文件

ClaimsProvider 可组织技术配置文件与声明提供程序的关联方式。 以下示例显示了使用 Microsoft Entra 技术配置文件的 Microsoft Entra 声明提供程序。

<ClaimsProvider>
  <DisplayName>Azure Active Directory</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="AAD-Common">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId-NoError">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserReadUsingEmailAddress">
      ...
    </TechnicalProfile>
      ...
    <TechnicalProfile Id="AAD-UserWritePasswordUsingObjectId">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserWriteProfileUsingObjectId">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserReadUsingObjectId">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="AAD-UserWritePhoneNumberUsingObjectId">
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>