Azure AD B2C - сообщение об ошибке в AAD-UserReadUsingEmailAddress с использованием сравнения - PullRequest
0 голосов
/ 09 апреля 2019

Мой пример использования: я хочу вызвать ошибку на TP AAD-UserReadUsingEmailAddress.

Я пытался использовать «UserMessageIfClaimsTransformationBooleanValueIsNotEqual».Это не сработало

При чтении документации это должно быть получено из самоутвержденного TP, которым AAD-UserReadUsingEmailAddress не является.

Другим способом было бы использовать что-то вроде "RaiseErrorIfClaimsPrincipalDoesNotExist" или«RaiseErrorIfClaimsPrincipalAlreadyExists», который выдает ошибку, если утверждение есть или нет.

Но я хочу выдать ошибку типа «RaiseErrorIfBooleanValueIsNotEqual», если утверждение не равно значению.Претензия будет существовать всегда.

Есть ли способ сделать это?

Обновление

Первый элемент моего путешествия пользователя:

<OrchestrationStep Order="1" Type="ClaimsExchange">                 
 <ClaimsExchanges>
    <ClaimsExchange Id="ReadEmailAddress"  TechnicalProfileReferenceId="AAD-UserReadUsingEmailAddress" />
 </ClaimsExchanges>
</OrchestrationStep>

1 Ответ

1 голос
/ 10 апреля 2019

Это может быть реализовано с использованием AssertBooleanClaimIsEqualToValue преобразования утверждений .

  1. Объявить преобразование претензий:
<ClaimsTransformation Id="AssertTheClaimIsEqualToTheValue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="your-claim-id" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="[true|false]" />
  </InputParameters>
</ClaimsTransformation>
  1. Вызовите это преобразование утверждений из технического профиля AAD-UserReadUsingEmailAddress :
<TechnicalProfile Id="AAD-UserReadUsingEmailAddress">
  <OutputClaimsTransformations>
    <OutputClaimsTransformation ReferenceId="AssertTheClaimIsEqualToTheValue" />
  </OutputClaimsTransformations>
</TechnicalProfile>

Если значение претензии не равно ожидаемому значению, генерируется исключение.

Самоутвержденный технический профиль, который вызывает технический профиль AAD-UserReadUsingEmailAddress, может отображать сообщение об ошибке для этого исключения, используя UserMessageIfClaimsTransformationBooleanValueIsNotEqual .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...