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