Partager via


Intégration de Twilio Verify App à Azure Active Directory 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.

Dans cette procédure pas à pas, découvrez comment intégrer un exemple d’application de paiement en ligne dans Azure Active Directory B2C (Azure AD B2C) à l’API Twilio Verify. En utilisant L’application Twilio Verify, les clients Azure AD B2C peuvent se conformer aux exigences de transaction PSD2 (Payment Services Directive 2) par le biais d’une liaison dynamique et d’une authentification client forte.

Conditions préalables

Avant de commencer, vérifiez que vous disposez des éléments suivants :

Description du scénario

Les composants suivants composent la solution Twilio :

  • Application web de démonstration .NET PSD2, qui permet de se connecter ou de s’inscrire, et d’effectuer une transaction factice à haut risque.

  • Stratégie combinée de connexion et d’inscription pour Azure AD B2C.

  • Stratégie Azure AD B2C intégrée à l’API Twilio Verify à l’aide de id_token_hint.

  • Une application web .NET, qui héberge un point de terminaison OpenIdConnect .well-known utilisé pour valider id_token_hint.

    Twilio Flow

Étape Descriptif
1 L’utilisateur lance la connexion ou l’inscription à l’application de démonstration PSD2. L’utilisateur est authentifié via la stratégie de connexion et d’inscription combinée Azure AD B2C. Un jeton est retourné à l’application. Lors de l’inscription, le numéro de téléphone de l’utilisateur est vérifié à l’aide de SMS/Téléphone et enregistré sur son compte Azure AD B2C.
2 L’utilisateur lance une transaction à haut risque, par exemple un transfert de 50,00 $. Le jeton d’accès actuel de l’utilisateur est évalué pour que PolicyId détermine si l’utilisateur s’est déjà authentifié via une stratégie personnalisée Step-Up.
3 L’application enregistre la valeur de transaction et le bénéficiaire, 50,00 $ et John Doe, et génère un jeton signé. Ce jeton est appelé id_token_hint et contient la revendication amount:$500, payee:john doe. id_token_hint est envoyé avec la demande à la stratégie personnalisée Azure AD B2C, qui est intégrée à Twilio.
4 Azure AD B2C vérifie la signature du jeton id_token_hint en contrôlant le point de terminaison OpenId Connect /.well-known des applications. Après la vérification, il extrait les revendications de ce jeton, à savoir amount et payee. L’utilisateur voit une page pour vérifier son numéro de téléphone mobile par sms.
5 L’utilisateur demande de vérifier son numéro de téléphone par sms et Azure AD B2C effectue une demande d’API REST au point de terminaison de l’API Twilio Verify. Il envoie également les transactions amount et payee dans le cadre du processus PSD2 pour générer le One-Time-Passcode (OTP). Twilio envoie un sms au numéro de téléphone inscrit de l’utilisateur.
6 L’utilisateur entre le protocole OTP reçu dans son sms et l’envoie à Azure AD B2C. Azure AD B2C effectue une demande d’API avec ce mot de passe à l’API de vérification de Twilio pour vérifier que le protocole OTP est correct. Enfin, un jeton est émis à l’application, avec un nouveau PolicyId qui signifie que l’utilisateur a accéléré son authentification.

S'initier à Twilio

  1. Obtenez un compte d'essai sur Twilio.

  2. Acheter un numéro de téléphone à Twilio, comme décrit dans cet article

  3. Accédez à l’API Verify sur la console Twilio et suivez les instructions pour créer un service et activer l’option PSD2.

Configurer l’application de démonstration PSD2

  1. Ouvrez la solution B2C-WebAPI-DotNet et remplacez les valeurs suivantes par vos propres valeurs spécifiques au locataire dans le web.config:

    <add key="ida:Tenant" value="yourtenant.onmicrosoft.com" />
    <add key="ida:TenantId" value="aaaabbbb-0000-cccc-1111-dddd2222eeee" />
    <add key="ida:ClientId" value="00001111-aaaa-2222-bbbb-3333cccc4444" />
    <add key="ida:ClientSecret" value="secret" />
    <add key="ida:AadInstance" value="https://yourtenant.b2clogin.com/tfp/{0}/{1}" />
    <add key="ida:RedirectUri" value="https://your hosted psd2 demo app url/" />
    
  2. L’application web héberge également le générateur d’indicateurs de jeton d’ID et le point de terminaison de métadonnées.

    • Créez votre certificat de signature comme décrit dans cet exemple de description.

    • Mettez à jour les lignes suivantes en fonction de votre certificat dans l'web.config:

      <add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. Chargez l’application de démonstration sur votre fournisseur d’hébergement de votre choix. Des conseils pour Azure App Service sont fournis dans cet exemple de description, y compris des instructions pour le chargement de votre certificat.

  4. Mettez à jour votre inscription d’application Azure AD B2C en ajoutant une URL de réponse équivalente à l’URL à laquelle l’application est hébergée.

  5. Ouvrez les fichiers de stratégie et remplacez toutes les instances de contoso par votre nom de locataire.

  6. Recherchez le profil technique de l’API REST Twilio Custom-SMS-Enroll. Remplacez la valeurServiceURL par votre AccountSID Twilio et la valeur From par le numéro de téléphone que vous avez acheté.

  7. Recherchez les profils techniques de l'API Twilio REST, TwilioRestAPI-Verify-Step1 et TwilioRestAPI-Verify-Step2, puis mettez à jour le ServiceURL avec votre AccountSID Twilio.

Intégrer avec Azure AD B2C

Ajoutez les fichiers de stratégie à Azure AD B2C :

  1. Connectez-vous au portail Azure en tant qu’administrateur de stratégie IEF B2C de votre locataire Azure AD B2C.
  2. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Choisissez tous les services dans le coin supérieur gauche du portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Accédez à Azure AD B2C>Identity Experience Framework>Clés de stratégie.
  5. Ajoutez une nouvelle clé avec le nom B2cRestTwilioClientId. Sélectionnez manuellement et fournissez la valeur du Twilio AccountSID.
  6. Ajoutez une nouvelle clé avec le nom B2cRestTwilioClientSecret. Sélectionnez manuellement et fournissez la valeur du JETON D’AUTHENTIFICATION Twilio.
  7. Chargez tous les fichiers de stratégie sur votre locataire.
  8. Personnalisez la chaîne dans la transformation de revendications GenerateOTPMessageEnrol à utiliser comme texte du SMS d’inscription.

Test de la solution

  • Accédez à votre application et testez les actions de connexion, d’inscription et d’envoi d’argent.

Étapes suivantes

Pour plus d’informations, consultez les articles suivants :