Freigeben über


Integrieren der Twilio Verify-App in Azure Active Directory B2C

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie eine Beispiel-Onlinezahlungs-App in Azure Active Directory B2C (Azure AD B2C) in die Twilio Verify-API integrieren. Mithilfe der Twilio Verify App können Azure AD B2C-Kunden die PSD2-Transaktionsanforderungen (Payment Services Directive 2) über dynamische Verknüpfungen und eine starke Kundenauthentifizierung einhalten.

Voraussetzungen

Zunächst benötigen Sie Folgendes:

Szenariobeschreibung

Die folgenden Komponenten bilden die Twilio-Lösung:

  • .NET PSD2 Demo-Web-App, die die Möglichkeit bietet, sich anzumelden oder zu registrieren, und eine dumme Transaktion mit hohem Risiko durchzuführen.

  • Azure AD B2C kombinierte Anmelde- und Registrierungsrichtlinie.

  • Azure AD B2C-Richtlinie, die per id_token_hint mit der Twilio Verify API integriert wird.

  • .NET Web App, die einen .well-known OpenIdConnect-Endpunkt hostet, um die Prüfung einer id_token_hint zu ermöglichen.

    Twilio-Datenfluss

Schritt BESCHREIBUNG
1 Der Benutzer initiiert die Anmeldung oder Registrierung bei der PSD2 Demo-App. Der Benutzer wird über die kombinierte Azure AD B2C-Anmelde- und Registrierungsrichtlinie authentifiziert. Ein Token wird an die Anwendung zurückgegeben. Bei der Registrierung wird die Telefonnummer des Benutzers mit SMS/Telefon überprüft und in seinem Azure AD B2C-Konto aufgezeichnet.
2 Der Benutzer initiiert eine Transaktion mit hohem Risiko, z. B. eine Übertragung von 50,00 $. Das aktuelle Zugriffstoken des Benutzers wird für die PolicyId ausgewertet, um zu bestimmen, ob sich der Benutzer bereits über eine Step-Up benutzerdefinierte Richtlinie authentifiziert hat.
3 Die Anwendung zeichnet den Transaktionswert und den Zahlungsempfänger, 50,00 $ und John Doe auf und generiert ein signiertes Token. Dieses Token wird als id_token_hint bezeichnet und enthält die Behauptung amount:$500, payee:john doe. id_token_hint wird zusammen mit der Anforderung an die benutzerdefinierte Azure AD B2C-Richtlinie gesendet, die in Twilio integriert ist.
4 Azure AD B2C überprüft die Signatur des id_token_hint, indem der OpenId Connect-Endpunkt der Anwendungen /.well-known überprüft wird. Nach der Überprüfung werden die Ansprüche aus diesem Token extrahiert (also amount und payee). Der Benutzer sieht eine Seite, um seine Mobiltelefonnummer per SMS-Nachricht zu überprüfen.
5 Der Benutzer fordert an, seine Telefonnummer per SMS zu überprüfen, und Azure AD B2C sendet eine REST-API-Anforderung an den Twilio Verify API-Endpunkt. Darüber hinaus werden die Elemente amount und payee der Transaktion im Rahmen des PSD2-Prozesses gesendet, um die Einmalkennung (One-Time-Passcode, OTP) zu generieren. Twilio sendet eine SMS-Nachricht an die registrierte Telefonnummer des Benutzers.
6 Der Benutzer gibt das OTP ein, das in seiner SMS-Nachricht empfangen wurde, und sendet ihn an Azure AD B2C. Azure AD B2C sendet eine API-Anforderung mit diesem OTP an die Überprüfungs-API von Twilio, um zu überprüfen, ob das OTP korrekt ist. Schließlich wird ein Token an die Anwendung ausgegeben, mit einer neuen PolicyId, die angibt, dass der Benutzer seine Authentifizierung verstärkt hat.

Durchführen des Onboardings mit Twilio

  1. Erhalten Sie ein Testkonto bei Twilio.

  2. Kaufen Sie eine Telefonnummer bei Twilio, wie in diesem Artikel beschrieben

  3. Navigieren Sie zur Überprüfungs-API in der Twilio-Konsole, und folgen Sie den Anweisungen , um einen Dienst zu erstellen und die PSD2-Option zu aktivieren.

Konfigurieren der PSD2-Demo-App

  1. Öffnen Sie die B2C-WebAPI-DotNet-Lösung und ersetzen Sie die folgenden Werte durch Ihre eigenen mandantenspezifischen Werte im 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. Die Web-App hostt auch den ID-Tokenhinweis-Generator und den Metadatenendpunkt.

    • Erstellen Sie Ihr Signaturzertifikat wie in dieser Beispielbeschreibung beschrieben.

    • Aktualisieren Sie die folgenden Zeilen basierend auf Ihrem Zertifikat in „web.config“:

      <add key="ida:SigningCertThumbprint" value="AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. Laden Sie die Demo-Anwendung auf Ihren gewünschten Hostinganbieter hoch. Anleitungen für Azure App Service finden Sie in dieser Beispielbeschreibung, einschließlich Anweisungen zum Hochladen Ihres Zertifikats.

  4. Aktualisieren Sie Ihre Azure AD B2C-Anwendungsregistrierung, indem Sie eine Antwort-URL hinzufügen, die der URL entspricht, unter der die Anwendung gehostet wird.

  5. Öffnen Sie die Richtliniendateien, und ersetzen Sie alle Instanzen voncontoso durch Ihren Mandantennamen.

  6. Suchen Sie das technische Profil der Twilio REST-API custom-SMS-Enroll. Aktualisieren Sie ServiceURL mit Ihrer Twilio AccountSID und der Absendernummer Ihrer erworbenen Telefonnummer.

  7. Suchen Sie die technischen Profile der Twilio REST-API, TwilioRestAPI-Verify-Step1 und TwilioRestAPI-Verify-Step2, und aktualisieren Sie die ServiceURL Mit Ihrer Twilio AccountSID.

Integration mit Azure AD B2C

Fügen Sie die Richtliniendateien zu Azure AD B2C hinzu:

  1. Melden Sie sich beim Azure-Portal als B2C IEF-Richtlinienadministrator Ihres Azure AD B2C-Mandanten an.
  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
  3. Wählen Sie "Alle Dienste " in der oberen linken Ecke des Azure-Portals aus, suchen Und wählen Sie Azure AD B2C aus.
  4. Navigieren Sie zu Azure AD B2C>Identity Experience Framework>Richtlinienschlüssel.
  5. Fügen Sie einen neuen Schlüssel mit dem Namen B2cRestTwilioClientId hinzu. Wählen Sie manuell aus, und geben Sie den Wert der Twilio AccountSID an.
  6. Fügen Sie einen neuen Schlüssel mit dem Namen B2cRestTwilioClientSecret hinzu. Wählen Sie manuell aus, und geben Sie den Wert des Twilio AUTH-TOKENS an.
  7. Laden Sie alle Richtliniendateien in Ihren Mandanten hoch.
  8. Passen Sie die Zeichenfolge in der GenerateOTPMessageEnrol-Anspruchstransformation an Ihren SMS-Text für die Registrierung an.

Testen der Lösung

  • Navigieren Sie zu Ihrer Anwendung, und testen Sie die Aktionen "Anmelden", "Registrieren" und "Geld senden".

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: