Когда выполняется ValidationTechnicalProfile?

#azure #azure-ad-b2c

#azure #azure-ad-b2c

Вопрос:

На каком этапе обработки TechnicalProfile X выполняется ValidationTP или IncludedTP? До того, как X выдаст выходные запросы? После?

Допустим, мой TP имеет следующее утверждение. У него также есть ValidationTP Y. Может ли Y сохранить ’email’ (доступно ли оно для него)?

 <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="Verified.Email" Required="true" />
  

В качестве альтернативы, скажем, мой TP X использует другой Y в качестве ValidationTP, а Y вводит и выводит некоторые утверждения (Input / OutputClaim). Доступны ли они для вывода из X? Нужно ли мне вообще помечать их как OutputClaims, если они отмечены как OutputClaims в ValidationTP?

Ответ №1:

Технический профиль проверки выполняется после выполнения самоутверждающегося технического профиля, который ссылается на технический профиль проверки.

  1. Утверждения, которые объявлены как выходные данные из самоутверждающегося технического профиля, передаются в технический профиль проверки.

В следующем примере утверждение о электронной почте передается из самоутверждающегося технического профиля LocalAccountSignUpWithLogonEmail в технический профиль проверки AAD-UserWriteUsingLogonEmailLocalAccountSignUpWithLogonEmail:

 <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>
  
  1. Утверждения, объявленные как выходные данные одного технического профиля проверки, на который ссылается самоутверждающийся технический профиль, передаются другим техническим профилям проверки, на которые ссылается этот самоутверждающийся технический профиль.

В следующем примере утверждение ObjectId передается из технического профиля проверки AAD-UserWriteUsingLogonEmail в технический профиль проверки регистрации через REST-API.:

 <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>
  
  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>
  

Для получения дополнительной информации см. the Поток технического профиля Раздел из the О технических профилях в пользовательских политиках Azure Active Directory B2C Статья.