2 votes

Azure AD B2C - Levée d'une erreur sur AAD-UserReadUsingEmailAddress à l'aide d'une comparaison

Mon cas d'utilisation est que je veux lever une erreur sur le TP AAD-UserReadUsingEmailAddress.

J'ai essayé d'utiliser "UserMessageIfClaimsTransformationBooleanValueIsNotEqual". Cela n'a pas fonctionné.

En lisant la documentation, cela doit être dérivé d'un TP auto-affirmé, ce que AAD-UserReadUsingEmailAddress n'est pas.

L'autre moyen serait d'utiliser quelque chose comme "RaiseErrorIfClaimsPrincipalDoesNotExist" ou "RaiseErrorIfClaimsPrincipalAlreadyExists" qui lance une erreur si la réclamation existe ou non.

Mais je veux lancer une erreur du type "RaiseErrorIfBooleanValueIsNotEqual" si le claim n'est pas égal à une valeur. L'affirmation existera toujours.

Y a-t-il un moyen de le faire ?

Mise à jour

Le premier élément de mon parcours utilisateur est :

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

2voto

Chris Padgett Points 7993

Cela peut être mis en œuvre en utilisant le site AssertBooleanClaimIsEqualToValue transformation des sinistres .

  1. Déclarer la transformation des revendications :

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

  2. Invoquez cette transformation des revendications à partir de la AAD-UserReadUsingEmailAddress profil technique :

    <TechnicalProfile Id="AAD-UserReadUsingEmailAddress"> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="AssertTheClaimIsEqualToTheValue" /> </OutputClaimsTransformations> </TechnicalProfile>

Si la valeur réclamée n'est pas égale à la valeur attendue, une exception est levée.

Le profil technique auto-affirmé qui invoque le profil technique AAD-UserReadUsingEmailAddress peut afficher un message d'erreur pour cette exception à l'aide des éléments suivants UserMessageIfClaimsTransformationBooleanValueIsNotEqual .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X