ValidationTechnicalProfile 何时执行?

Mar*_*arc 3 azure azure-ad-b2c

ValidationTP 或 IncludedTP 在 TechnicalProfile X 处理的哪个阶段执行?在 X 产生 OutputClaims 之前?后?

假设我的 TP 有以下声明。它还有一个 ValidationTP Y。Y 可以保留“电子邮件”吗(它是否可用)?

<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="Verified.Email" Required="true" />
Run Code Online (Sandbox Code Playgroud)

或者,假设我的 TP X 使用另一个 Y 作为 ValidationTP,Y 输入并输出一些声明(Input/OutputClaim)。它们可用于 X 的输出吗?如果它们在 ValidationTP 中标记为 OutputClaims,我是否还需要将它们标记为 OutputClaims?

Chr*_*ett 7

验证技术配置文件是在执行了自断言技术配置文件(即验证技术配置文件)之后执行的。

  1. 声明为自断言技术配置文件输出的声明将传递到验证技术配置文件。

在以下示例中,电子邮件声明从LocalAccountSignUpWithLogonEmail自断言技术配置文件传递到AAD-UserWriteUsingLogonEmail验证技术配置文件:

<TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
  <PersistedClaims>
    <PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" />
  </PersistedClaims>
</TechnicalProfile>
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="Verified.Email" Required="true" />
  </OutputClaims>
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
  </ValidationTechnicalProfiles>
</TechnicalProfile>
Run Code Online (Sandbox Code Playgroud)
  1. 声明为自断言技术配置文件引用的一个验证技术配置文件的输出的声明将传递到该自断言技术配置文件引用的其他验证技术配置文件。

在以下示例中,objectId声明从AAD-UserWriteUsingLogonEmail验证技术配置文件传递到REST-API-Signup验证技术配置文件:

<TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
  </OutputClaims>
</TechnicalProfile>
<TechnicalProfile Id="REST-API-Signup">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="objectId" />
  </InputClaims>
</TechnicalProfile>
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
    <ValidationTechnicalProfile ReferenceId="REST-API-Signup" />
  </ValidationTechnicalProfiles>
</TechnicalProfile>
Run Code Online (Sandbox Code Playgroud)
  1. 声明为验证技术配置文件输出的声明以及引用此验证技术配置文件的自断言技术配置文件将传递到其他编排步骤。

在以下示例中,objectId声明从AAD-UserWriteUsingLogonEmail验证技术配置文件“通过” LocalAccountSignUpWithLogonEmail自断言技术配置文件传递到其他编排步骤:

<TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
  </OutputClaims>
</TechnicalProfile>
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
  </OutputClaims>
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
  </ValidationTechnicalProfiles>
</TechnicalProfile>
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅关于Azure Active Directory B2C 自定义策略中的技术配置文件一文的技术配置文件部分