Partager via


Définir un profil technique d’authentification multifacteur Microsoft Entra ID dans une stratégie personnalisée Azure AD B2C

Important

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

Azure Active Directory B2C (Azure AD B2C) prend en charge la vérification d’un numéro de téléphone à l’aide d’un code de vérification ou la vérification d’un code de mot de passe à usage unique (TOTP).

Protocole

L’attribut Name de l’élément Protocol doit être défini sur Proprietary. L’attribut handler doit contenir le nom complet de l’assembly de gestionnaire de protocole utilisé par Azure AD B2C :

Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

L’exemple suivant montre un profil technique d’authentification multifacteur Microsoft Entra ID :

<TechnicalProfile Id="AzureMfa-SendSms">
    <DisplayName>Send Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

Vérifier le mode téléphone

Dans le mode de vérification du téléphone, le profil technique génère et envoie un code à un numéro de téléphone, puis vérifie le code. Le profil technique d’authentification multifacteur Microsoft Entra ID peut également renvoyer un message d’erreur. Le profil technique de validation valide les données fournies par l’utilisateur avant que le parcours de l’utilisateur ne se poursuive. Avec le profil technique de validation, un message d’erreur s’affiche sur une page autodéclarée. Profil technique :

  • Ne fournit pas d’interface permettant d’interagir avec l’utilisateur. Au lieu de cela, l’interface utilisateur est appelée à partir d’un profil technique autodéclaré ou d’un contrôle d’affichage en tant que profil technique de validation.
  • Utilise le service d’authentification multifacteur Microsoft Entra pour générer et envoyer un code à un numéro de téléphone, puis vérifie le code.
  • Valide un numéro de téléphone via des sms.

Le profil technique fournit des méthodes pour envoyer le code de vérification par sms et vérifier le code. La capture d’écran suivante montre le flux du vérificateur de téléphone.

Capture d’écran montrant le flux TOTP

Envoyer un SMS

Pour vérifier un téléphone, la première étape génère un code et l’envoie au numéro de téléphone. Les options suivantes peuvent être configurées pour cette étape.

Revendications d’entrée

L’élément InputClaims contient une liste de revendications à envoyer à l’authentification multifacteur Microsoft Entra. Vous pouvez également mapper le nom de votre revendication au nom défini dans le profil technique MFA.

ClaimReferenceId Obligatoire Descriptif
userPrincipalName Oui Identificateur de l’utilisateur propriétaire du numéro de téléphone.
phoneNumber Oui Numéro de téléphone vers lequel envoyer un code SMS.
companyName Non Nom de la société dans le SMS. S’il n’est pas fourni, le nom de votre application est utilisé.
locale Non Paramètres régionaux du SMS. S’il n’est pas fourni, les paramètres régionaux du navigateur de l’utilisateur sont utilisés.

Revendications de sortie

Le fournisseur de protocole d’authentification multifacteur Microsoft Entra ne retourne aucune revendication de sortie. Il n’est donc pas nécessaire de spécifier les revendications de sortie.

Métadonnées

L’élément Metadata contient l’attribut suivant.

Caractéristique Obligatoire Descriptif
Operation Oui Doit être OneWaySMS.
Éléments d’interface utilisateur

Les métadonnées suivantes peuvent être utilisées pour configurer les messages d’erreur affichés lors de l’envoi d’un échec SMS. Les métadonnées doivent être configurées dans le profil technique autodéclaré . Les messages d’erreur peuvent être localisés.

Caractéristique Obligatoire Descriptif
UserMessageIfCouldntSendSms Non Message d’erreur utilisateur si le numéro de téléphone fourni n’accepte pas les SMS.
UserMessageIfInvalidFormat Non Message d’erreur utilisateur si le numéro de téléphone fourni n’est pas un numéro de téléphone valide.
UserMessageIfServerError Non Message d’erreur utilisateur si le serveur a rencontré une erreur interne.
UserMessageIfThrottled Non Message d’erreur utilisateur si une demande a été limitée.

Exemple : envoyer un SMS

L’exemple suivant montre un profil technique d’authentification multifacteur Microsoft Entra ID utilisé pour envoyer un code via SMS.

<TechnicalProfile Id="AzureMfa-SendSms">
  <DisplayName>Send Sms</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">OneWaySMS</Item>
  </Metadata>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CombinePhoneAndCountryCode" />
    <InputClaimsTransformation ReferenceId="ConvertStringToPhoneNumber" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
    <InputClaim ClaimTypeReferenceId="fullPhoneNumber" PartnerClaimType="phoneNumber" />
  </InputClaims>
</TechnicalProfile>

Vérifier le code

L’étape de vérification du code vérifie un code envoyé à l’utilisateur. Les options suivantes peuvent être configurées pour cette étape.

Revendications d’entrée

L’élément InputClaims contient une liste de revendications à envoyer à l’authentification multifacteur Microsoft Entra. Vous pouvez également mapper le nom de votre revendication au nom défini dans le profil technique MFA.

ClaimReferenceId Obligatoire Descriptif
phoneNumber Oui Même numéro de téléphone que précédemment utilisé pour envoyer un code. Il est également utilisé pour localiser une session de vérification par téléphone.
verificationCode Oui Code de vérification fourni par l’utilisateur à vérifier

Revendications de sortie

Le fournisseur de protocole d’authentification multifacteur Microsoft Entra ne retourne aucune revendication de sortie. Il n’est donc pas nécessaire de spécifier les revendications de sortie.

Métadonnées

L’élément Metadata contient l’attribut suivant.

Caractéristique Obligatoire Descriptif
Operation Oui Doit être Verify.
Éléments d’interface utilisateur

Les métadonnées suivantes peuvent être utilisées pour configurer les messages d’erreur affichés en cas d’échec de la vérification du code. Les métadonnées doivent être configurées dans le profil technique autodéclaré . Les messages d’erreur peuvent être localisés.

Caractéristique Obligatoire Descriptif
UserMessageIfMaxAllowedCodeRetryReached Non Message d’erreur utilisateur si l’utilisateur a tenté un code de vérification trop de fois.
UserMessageIfServerError Non Message d’erreur utilisateur si le serveur a rencontré une erreur interne.
UserMessageIfThrottled Non Message d’erreur utilisateur si la demande est limitée.
UserMessageIfWrongCodeEntered Non Message d’erreur utilisateur si le code entré pour la vérification est incorrect.

Exemple : vérifier un code

L’exemple suivant montre un profil technique d’authentification multifacteur Microsoft Entra ID utilisé pour vérifier le code.

<TechnicalProfile Id="AzureMfa-VerifySms">
    <DisplayName>Verify Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="Operation">Verify</Item>
    </Metadata>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="phoneNumber" PartnerClaimType="phoneNumber" />
        <InputClaim ClaimTypeReferenceId="verificationCode" />
    </InputClaims>
</TechnicalProfile>

Mode TOTP

Dans ce mode, l’utilisateur est tenu d’installer n’importe quelle application d’authentificateur qui prend en charge la vérification de mot de passe à usage unique (TOTP) basée sur le temps, telle que l’application Microsoft Authenticator, sur un appareil qu’il possède.

Lors de la première inscription ou de la connexion, l’utilisateur analyse un code QR, ouvre un lien profond ou entre le code manuellement à l’aide de l’application d’authentificateur. Pour vérifier le code TOTP, utilisez le protocole OtP Begin , suivi des profils techniques de validation TOTP .

Pour les connexions suivantes, utilisez la méthode Get available devices pour vérifier si l’utilisateur a déjà inscrit son appareil. Si le nombre d’appareils disponibles est supérieur à zéro, cela indique que l’utilisateur s’est inscrit précédemment. Dans ce cas, l’utilisateur doit taper le code TOTP qui apparaît dans l’application d’authentification.

Profil technique :

  • Ne fournit pas d’interface permettant d’interagir avec l’utilisateur. Au lieu de cela, l’interface utilisateur est appelée à partir d’un profil technique autodéclaré , avec les contrôles d’affichage TOTP.
  • Utilise le service d’authentification multifacteur Microsoft Entra pour valider le code TOTP.
  • Vérifie si un utilisateur a déjà inscrit son appareil.

La capture d’écran suivante montre un flux d’inscription et de vérification TOTP. Il commence par vérifier le nombre d’appareils disponibles. Si le nombre d’appareils disponibles est égal à zéro, l’utilisateur passe par l’étape d’orchestration de l’inscription. Sinon, l’utilisateur passe par l’étape d’orchestration de vérification.

Capture d’écran montrant le flux TOTP.

Obtenir les appareils disponibles

Le mode d’appareil disponible vérifie le nombre d’appareils disponibles pour l’utilisateur. Si le nombre d’appareils disponibles est égal à zéro, cela indique que l’utilisateur n’a pas encore inscrit.

Revendications d’entrée

L’élément InputClaims contient une liste de revendications à envoyer à l’authentification multifacteur Microsoft Entra. Vous pouvez également mapper le nom de votre revendication au nom défini dans le profil technique MFA.

ClaimReferenceId Obligatoire Descriptif
userPrincipalName Oui Nom d’utilisateur principal.

Revendications de sortie

L’élément revendications de sortie contient une liste de revendications à retourner à partir de l’authentification multifacteur Microsoft Entra. Vous pouvez également mapper le nom de votre revendication au nom défini dans le profil technique MFA.

ClaimReferenceId Obligatoire Descriptif
numberOfAvailableDevices Oui Nombre d’appareils disponibles pour l’utilisateur.

Métadonnées

L’élément Metadata contient l’attribut suivant.

Caractéristique Obligatoire Descriptif
Operation Oui Doit être GetAvailableDevices.

Exemple : Obtenir des appareils disponibles

L’exemple suivant montre un profil technique d’authentification multifacteur Microsoft Entra ID utilisé pour obtenir le nombre d’appareils disponibles.

<TechnicalProfile Id="AzureMfa-GetAvailableDevices">
  <DisplayName>Get Available Devices</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">GetAvailableDevices</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="numberOfAvailableDevices" />
  </OutputClaims>
</TechnicalProfile>

Commencer à vérifier TOTP

Le début de la vérification TOTP démarre le processus de vérification. Ce profil technique de validation est appelé à partir du profil technique autodéclaré qui présente et vérifie les codes TOTP. Ce profil technique de validation doit être suivi d’un appel pour vérifier les profils techniques de validation TOTP .

Revendications d’entrée

L’élément InputClaims contient une liste de revendications à envoyer à l’authentification multifacteur Microsoft Entra. Vous pouvez également mapper le nom de votre revendication au nom défini dans le profil technique MFA.

ClaimReferenceId Obligatoire Descriptif
userPrincipalName Oui Nom d’utilisateur principal.
objectId Oui ID d’objet utilisateur.
secretKey Oui Clé secrète de l’utilisateur. Cette clé est stockée dans le profil de l’utilisateur dans le répertoire Azure AD B2C et est partagée avec l’application d’authentificateur. L’application d’authentificateur utilise le secret pour générer le code TOTP. Ce profil technique utilise le secret pour vérifier le code TOTP.

Revendications de sortie

Le fournisseur de protocole d’authentification multifacteur Microsoft Entra ne retourne aucune revendication de sortie. Il n’est donc pas nécessaire de spécifier les revendications de sortie.

Métadonnées

L’élément Metadata contient l’attribut suivant.

Caractéristique Obligatoire Descriptif
Operation Oui Doit être BeginVerifyOTP.

Exemple : Commencer à vérifier TOTP

L’exemple suivant montre un profil technique d’authentification multifacteur Microsoft Entra ID utilisé pour commencer le processus de vérification TOTP.

<TechnicalProfile Id="AzureMfa-BeginVerifyOTP">
  <DisplayName>Begin verify TOTP"</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">BeginVerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="secretKey" />
    <InputClaim ClaimTypeReferenceId="objectId" />
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
</TechnicalProfile>

Vérifier TOTP

La méthode VERIFY TOTP vérifie un code TOTP. Ce profil technique de validation est appelé à partir du profil technique autodéclaré qui présente et vérifie les codes TOTP. Ce profil technique de validation doit être précédé d’un appel aux profils techniques de validation TOTP Begin .

Revendications d’entrée

L’élément InputClaims contient une liste de revendications à envoyer à l’authentification multifacteur Microsoft Entra. Vous pouvez également mapper le nom de votre revendication au nom défini dans le profil technique MFA.

ClaimReferenceId Obligatoire Descriptif
otpCode Oui Code TOTP fourni par l’utilisateur.

Revendications de sortie

Le fournisseur de protocole d’authentification multifacteur Microsoft Entra ne retourne aucune revendication de sortie. Il n’est donc pas nécessaire de spécifier les revendications de sortie.

Métadonnées

L’élément Metadata contient l’attribut suivant.

Caractéristique Obligatoire Descriptif
Operation Oui Doit être VerifyOTP.

Exemple : Vérifier TOTP

L’exemple suivant montre un profil technique d’authentification multifacteur Microsoft Entra ID utilisé pour vérifier un code TOTP.

<TechnicalProfile Id="AzureMfa-VerifyOTP">
  <DisplayName>Verify OTP</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otpCode" />
  </InputClaims>
</TechnicalProfile>

Étapes suivantes