Partager via


Contrôles d’affichage

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Remarque

Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.

Un contrôle d’affichage est un élément d’interface utilisateur qui a des fonctionnalités spéciales et interagit avec le service principal Azure Active Directory B2C (Azure AD B2C). Il permet à l’utilisateur d’effectuer des actions sur la page qui appellent un profil technique de validation au serveur principal. Les contrôles d’affichage s’affichent sur la page et sont référencés par un profil technique autodéclaré.

Conditions préalables

Dans la section Métadonnées d’un profil technique autodéclaré, le ContentDefinition référencé doit avoir DataUri défini sur le contrat de page version 2.1.9 ou ultérieure. Par exemple:

<ContentDefinition Id="api.selfasserted">
  <LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.9</DataUri>
  ...

Définition des contrôles d’affichage

L’élément DisplayControl contient les attributs suivants :

Caractéristique Obligatoire Descriptif
Id Oui Identificateur utilisé pour le contrôle d’affichage. Elle peut être référencée.
UserInterfaceControlType Oui Type du contrôle d’affichage. Actuellement pris en charge est VerificationControl, les contrôles TOTP et les contrôles CAPTCHA.

Contrôle de vérification

Le contrôle d’affichage de la vérification vérifie les revendications, par exemple une adresse e-mail ou un numéro de téléphone, avec un code de vérification envoyé à l’utilisateur. L’image suivante illustre une page d’inscription autodéclarée avec deux contrôles d’affichage qui valident une adresse e-mail primaire et secondaire.

Capture d’écran montrant le contrôle d’affichage de la vérification par e-mail

Contrôles TOTP

Les contrôles d’affichage TOTP sont un ensemble de contrôles d’affichage qui fournissent l’authentification multifacteur TOTP avec l’application Microsoft Authenticator. L’image suivante illustre une page d’inscription TOTP avec les trois contrôles d’affichage.

Capture d’écran montrant les contrôles d’affichage TOTP

QrCodeControl

L’élément DisplayControl contient les éléments suivants :

Élément Occurrences Descriptif
InputClaims 0:1 InputClaims est utilisé pour préremplir la valeur des revendications à collecter auprès de l’utilisateur. Pour plus d’informations, consultez l’élément InputClaims .
DisplayClaims 0:1 DisplayClaims est utilisé pour représenter les revendications à collecter auprès de l’utilisateur. Pour plus d’informations, consultez l’élément DisplayClaim .
OutputClaims 0:1 OutputClaims est utilisé pour représenter les revendications à enregistrer temporairement pour ce DisplayControl. Pour plus d’informations, consultez l’élément OutputClaims .
Actions 0:1 Les actions sont utilisées pour répertorier les profils techniques de validation à appeler pour les actions utilisateur qui se produisent au front-end.

Revendications d’entrée

Dans un contrôle d’affichage, vous pouvez utiliser des éléments InputClaims pour préremplir la valeur des revendications à collecter auprès de l’utilisateur sur la page. Toutes les inputClaimsTransformations peuvent être définies dans le profil technique autodéclaré, qui fait référence à ce contrôle d’affichage.

L’exemple suivant préremplit l’adresse e-mail à vérifier avec l’adresse déjà présente.

<DisplayControl Id="emailControl" UserInterfaceControlType="VerificationControl">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="emailAddress" />
  </InputClaims>
  ...

Revendications d’affichage

Chaque type de contrôle d’affichage nécessite un ensemble différent de revendications d’affichage, de revendications de sortie et d’actions à effectuer.

Comme pour les revendications d’affichage définies dans un profil technique autodéclaré, les revendications d’affichage représentent les revendications à collecter auprès de l’utilisateur au sein du contrôle d’affichage. L’élément ClaimType référencé doit spécifier l’élément UserInputType pour un type d’entrée utilisateur pris en charge par Azure AD B2C, tel que TextBox ou DropdownSingleSelect. Si une valeur de revendication d’affichage est requise par une action, définissez l’attribut Obligatoire pour true forcer l’utilisateur à fournir une valeur pour cette revendication d’affichage spécifique.

Certaines revendications d’affichage sont requises pour certains types de contrôle d’affichage. Par exemple, VerificationCode est requis pour le contrôle d’affichage de type VerificationControl. Utilisez l’attribut ControlClaimType pour spécifier le DisplayClaim désigné pour cette revendication requise. Par exemple:

<DisplayClaim ClaimTypeReferenceId="otpCode" ControlClaimType="VerificationCode" Required="true" />

Revendications de sortie

Les revendications de sortie d’un contrôle d’affichage ne sont pas envoyées à l’étape d’orchestration suivante. Ils sont enregistrés temporairement uniquement pour la session de contrôle d’affichage actuelle. Ces revendications temporaires peuvent être partagées entre les différentes actions du même contrôle d’affichage.

Pour buller les revendications de sortie à l’étape d’orchestration suivante, utilisez les OutputClaims du profil technique autodéclaré réel, qui fait référence à ce contrôle d’affichage.

Afficher les actions de contrôle

Les actions d’un contrôle d’affichage sont des procédures qui se produisent dans le serveur principal Azure AD B2C lorsqu’un utilisateur effectue une certaine action côté client (le navigateur). Par exemple, les validations à effectuer lorsque l’utilisateur sélectionne un bouton sur la page.

Une action définit une liste de profils techniques de validation. Ils sont utilisés pour valider certaines ou toutes les revendications d’affichage du contrôle d’affichage. Le profil technique de validation valide l’entrée de l’utilisateur et peut renvoyer une erreur à l’utilisateur. Vous pouvez utiliser ContinueOnError, ContinueOnSuccess et Conditions préalables dans l’action de contrôle d’affichage similaire à la façon dont ils sont utilisés dans les profils techniques de validation dans un profil technique autodéclaré.

Actions

L’élément Actions contient l’élément suivant :

Élément Occurrences Descriptif
Action 1 :n Liste des actions à exécuter.

Action

L’élément Action contient l’attribut suivant :

Caractéristique Obligatoire Descriptif
Id Oui Type d’opération. Valeurs possibles : SendCode ou VerifyCode. La SendCode valeur envoie un code à l’utilisateur. Cette action peut contenir deux profils techniques de validation : un pour générer un code et un pour l’envoyer. La VerifyCode valeur vérifie le code tapé par l’utilisateur dans la zone de texte d’entrée.

L’élément Action contient l’élément suivant :

Élément Occurrences Descriptif
ValidationClaimsExchange Un-à-un (1:1) Identificateurs de profils techniques utilisés pour valider certaines ou toutes les revendications d’affichage du profil technique de référencement. Toutes les revendications d’entrée du profil technique référencé doivent apparaître dans les revendications d’affichage du profil technique de référencement.

ValidationClaimsExchange

L’élément ValidationClaimsExchange contient l’élément suivant :

Élément Occurrences Descriptif
ValidationClaimsExchangeTechnicalProfile 1 :n Profil technique à utiliser pour valider certaines ou toutes les revendications d’affichage du profil technique de référencement.

L’élément ValidationClaimsExchangeTechnicalProfile contient l’attribut suivant :

Caractéristique Obligatoire Descriptif
TechnicalProfileReferenceId Oui Identificateur d’un profil technique déjà défini dans la stratégie ou la stratégie parente.

L’élément ValidationClaimsExchangeTechnicalProfile contient l’élément suivant :

Élément Occurrences Descriptif
Preconditions 0:1 Liste des conditions préalables qui doivent être satisfaites pour que le profil technique de validation s’exécute.

L’élément Precondition contient les attributs suivants :

Caractéristique Obligatoire Descriptif
Type Oui Type de vérification ou de requête à effectuer pour la condition préalable. Valeurs possibles : ClaimsExist ou ClaimEquals. ClaimsExist spécifie que les actions doivent être effectuées si les revendications spécifiées existent dans le jeu de revendications actuel de l’utilisateur. ClaimEquals spécifie que les actions doivent être effectuées si la revendication spécifiée existe et que sa valeur est égale à la valeur spécifiée.
ExecuteActionsIf Oui Indique si les actions de la condition préalable doivent être effectuées si le test a la valeur true ou false.

L’élément Condition préalable contient les éléments suivants :

Élément Occurrences Descriptif
Value 1 :n Données utilisées par la vérification. Si le type de cette vérification est ClaimsExist, ce champ spécifie un ClaimTypeReferenceId à interroger. Si le type de vérification est ClaimEquals, ce champ spécifie un ClaimTypeReferenceId à rechercher. Spécifiez la valeur à vérifier dans un autre élément valeur.
Action Un-à-un (1:1) Action qui doit être effectuée si la vérification de la condition préalable dans une étape d’orchestration est vraie. La valeur de l’action est définie SkipThisValidationTechnicalProfilesur , qui spécifie que le profil technique de validation associé ne doit pas être exécuté.

L’exemple suivant envoie et vérifie l’adresse e-mail à l’aide du profil technique SSPR Microsoft Entra ID.

<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
  <InputClaims></InputClaims>
  <DisplayClaims>
    <DisplayClaim ClaimTypeReferenceId="email" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" />
  </DisplayClaims>
  <OutputClaims></OutputClaims>
  <Actions>
    <Action Id="SendCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode" />
      </ValidationClaimsExchange>
    </Action>
    <Action Id="VerifyCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-VerifyCode" />
      </ValidationClaimsExchange>
    </Action>
  </Actions>
</DisplayControl>

L’exemple suivant envoie un code par e-mail ou SMS en fonction de la sélection de la revendication mfaType avec des conditions préalables.

<Action Id="SendCode">
  <ValidationClaimsExchange>
    <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AzureMfa-SendSms">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>mfaType</Value>
          <Value>email</Value>
          <Action>SkipThisValidationTechnicalProfile</Action>
        </Precondition>
      </Preconditions>
    </ValidationClaimsExchangeTechnicalProfile>
    <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendEmail">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>mfaType</Value>
          <Value>phone</Value>
          <Action>SkipThisValidationTechnicalProfile</Action>
        </Precondition>
      </Preconditions>
    </ValidationClaimsExchangeTechnicalProfile>
  </ValidationClaimsExchange>
</Action>

Référencement des contrôles d’affichage

Les contrôles d’affichage sont référencés dans les revendications d’affichage du profil technique autodéclaré.

Par exemple:

<TechnicalProfile Id="SelfAsserted-ProfileUpdate">
  ...
  <DisplayClaims>
    <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    <DisplayClaim DisplayControlReferenceId="PhoneVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="surName" Required="true" />

Étapes suivantes

Pour obtenir des exemples d’utilisation du contrôle d’affichage, consultez :