Udostępnij za pośrednictwem


Integrowanie aplikacji Twilio Verify z usługą Azure Active Directory B2C

Z tego przewodnika dowiesz się, jak zintegrować przykładową aplikację płatności online w usłudze Azure Active Directory B2C (Azure AD B2C) z interfejsem API weryfikacji usługi Twilio. Korzystając z usługi Twilio Verify App, klienci usługi Azure AD B2C mogą spełnić wymagania dotyczące transakcji PSD2 (Payment Services Directive 2) za pomocą dynamicznego łączenia i silnego uwierzytelniania klientów.

Wymagania wstępne

Aby rozpocząć pracę, potrzebne są następujące elementy:

  • Subskrypcja Azure. Jeśli nie masz subskrypcji, możesz uzyskać bezpłatne konto.
  • Dzierżawa usługi Azure AD B2C połączona z subskrypcją platformy Azure.
  • Konto wersji próbnej w usłudze Twilio.

Opis scenariusza

Następujące składniki składają się na rozwiązanie Twilio:

  • Pokazowa aplikacja internetowa .NET PSD2, która umożliwia logowanie się lub rejestrowanie oraz wykonywanie fikcyjnej transakcji wysokiego ryzyka.

  • Połączone zasady logowania i rejestracji w usłudze Azure AD B2C.

  • Zasady usługi Azure AD B2C zintegrowane z interfejsem API weryfikacji usługi Twilio przy użyciu polecenia id_token_hint.

  • Aplikacja internetowa platformy .NET, która hostuje .well-known punkt końcowy OpenId Połączenie w celu umożliwienia weryfikacji elementu id_token_hint.

    twilio flow

Krok opis
1 Użytkownik inicjuje logowanie lub rejestrację w aplikacji demonstracyjnej PSD2. Użytkownik jest uwierzytelniany za pośrednictwem połączonych zasad logowania i rejestracji usługi Azure AD B2C. Token jest zwracany do aplikacji. Podczas rejestracji numer telefonu użytkownika jest weryfikowany przy użyciu wiadomości SMS/Telefon i rejestrowany na koncie usługi Azure AD B2C.
2 Użytkownik inicjuje transakcję wysokiego ryzyka, taką jak przeniesienie 50,00 USD. Bieżący token dostępu użytkownika jest oceniany dla identyfikatora PolicyId w celu określenia, czy użytkownik został już uwierzytelniony za pomocą zasad niestandardowych kroków.
3 Aplikacja rejestruje wartość transakcji i płatność, 50,00 USD i John Doe i generuje podpisany token. Ten token jest nazywany elementem id_token_hint i zawiera oświadczenie amount:$500, payee:john doe. Element id_token_hint jest wysyłany wraz z żądaniem do zasad niestandardowych usługi Azure AD B2C, które są zintegrowane z usługą Twilio.
4 Usługa Azure AD B2C weryfikuje sygnaturę id_token_hint, sprawdzając identyfikator OpenId aplikacji /.well-known Połączenie punktu końcowego. Po zweryfikowaniu wyodrębnia oświadczenia z tego tokenu, w szczególności i amount payee. Użytkownik zobaczy stronę, aby zweryfikować swój numer telefonu komórkowego za pośrednictwem wiadomości SMS.
5 Użytkownik prosi o zweryfikowanie numeru telefonu za pośrednictwem wiadomości SMS, a usługa Azure AD B2C wysyła żądanie interfejsu API REST do punktu końcowego interfejsu API weryfikacji usługi Twilio. Wysyła również transakcję amount i payee w ramach procesu PSD2 w celu wygenerowania kodu dostępu jednorazowego (OTP). Usługa Twilio wysyła wiadomość SMS na zarejestrowany numer telefonu użytkownika.
6 Użytkownik wprowadza protokół OTP odebrany w wiadomości SMS i przesyła go do usługi Azure AD B2C. Usługa Azure AD B2C wysyła żądanie interfejsu API z tą usługą OTP do interfejsu API weryfikacji usługi Twilio w celu sprawdzenia, czy protokół OTP jest poprawny. Na koniec token jest wystawiany dla aplikacji, a nowy identyfikator PolicyId oznaczający, że użytkownik zwiększył swoje uwierzytelnianie.

Dołączanie za pomocą usługi Twilio

  1. Uzyskaj konto wersji próbnej w usłudze Twilio.

  2. Zakup numeru Telefon w usłudze Twilio zgodnie z opisem w tym artykule

  3. Przejdź do pozycji Weryfikuj interfejs API w konsoli usługi Twilio i postępuj zgodnie z instrukcjami , aby utworzyć usługę i włączyć opcję PSD2.

Konfigurowanie aplikacji demonstracyjnej PSD2

  1. Otwórz rozwiązanie B2C-WebAPI-DotNet i zastąp następujące wartości własnymi wartościami specyficznymi dla dzierżawy w pliku web.config:

    <add key="ida:Tenant" value="yourtenant.onmicrosoft.com" />
    <add key="ida:TenantId" value="d6f33888-0000-4c1f-9b50-1590f171fc70" />
    <add key="ida:ClientId" value="6bd98cc8-0000-446a-a05e-b5716ef2651b" />
    <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. Aplikacja internetowa hostuje również generator wskazówek tokenu identyfikatora i punkt końcowy metadanych.

    • Utwórz certyfikat podpisywania zgodnie z opisem w tym przykładzie.

    • Zaktualizuj następujące wiersze na podstawie certyfikatu w pliku web.config:

      <add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. Przekaż wybraną aplikację demonstracyjną do wybranego dostawcy hostingu. Wskazówki dotyczące usługi aplikacja systemu Azure są dostępne w tym przykładowym opisie, w tym instrukcje dotyczące przekazywania certyfikatu.

  4. Zaktualizuj rejestrację aplikacji usługi Azure AD B2C, dodając adres URL odpowiedzi odpowiadający adresowi URL, pod którym jest hostowana aplikacja.

  5. Otwórz pliki zasad i zastąp wszystkie wystąpienia contoso nazwą dzierżawy.

  6. Znajdź profil techniczny interfejsu API REST usługi Twilio Custom-SMS-Enroll. Zaktualizuj element za ServiceURL pomocą identyfikatora AccountSID usługi Twilio i numeru Od do zakupionego numeru telefonu.

  7. Znajdź profile techniczne interfejsu API REST usługi Twilio, TwilioRestAPI-Verify-Step1 i TwilioRestAPI-Verify-Step2, a następnie zaktualizuj element ServiceURL za pomocą identyfikatora AccountSID usługi Twilio.

Integracja z usługą Azure AD B2C

Dodaj pliki zasad do usługi Azure AD B2C:

  1. Zaloguj się w witrynie Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.
  3. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
  4. Przejdź do pozycji Azure AD B2C Identity Experience Framework Policy Keys (Klucze zasad struktury>tożsamości usługi Azure AD B2C).>
  5. Dodaj nowy klucz o nazwie B2cRestTwilioClientId. Wybierz pozycję ręcznie i podaj wartość identyfikatora AccountSID usługi Twilio.
  6. Dodaj nowy klucz o nazwie B2cRestTwilioClientSecret. Wybierz pozycję ręcznie i podaj wartość tokenu AUTH usługi Twilio.
  7. Przekaż wszystkie pliki zasad do dzierżawy.
  8. Dostosuj ciąg w przekształcaniu oświadczeń GenerateOTPMessageEnrol dla tekstu sms rejestracji.

Testowanie rozwiązania

  • Przejdź do aplikacji i przetestuj akcje logowania, rejestracji i wysyłania pieniędzy.

Następne kroki

Aby uzyskać dodatkowe informacje, zapoznaj się z następującymi artykułami: