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 elementuid_token_hint
.
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
Uzyskaj konto wersji próbnej w usłudze Twilio.
Zakup numeru Telefon w usłudze Twilio zgodnie z opisem w tym artykule
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
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/" />
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" />
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.
Zaktualizuj rejestrację aplikacji usługi Azure AD B2C, dodając adres URL odpowiedzi odpowiadający adresowi URL, pod którym jest hostowana aplikacja.
Otwórz pliki zasad i zastąp wszystkie wystąpienia
contoso
nazwą dzierżawy.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.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:
- Zaloguj się w witrynie Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.
- 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.
- Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
- Przejdź do pozycji Azure AD B2C Identity Experience Framework Policy Keys (Klucze zasad struktury>tożsamości usługi Azure AD B2C).>
- Dodaj nowy klucz o nazwie B2cRestTwilioClientId. Wybierz pozycję ręcznie i podaj wartość identyfikatora AccountSID usługi Twilio.
- Dodaj nowy klucz o nazwie B2cRestTwilioClientSecret. Wybierz pozycję ręcznie i podaj wartość tokenu AUTH usługi Twilio.
- Przekaż wszystkie pliki zasad do dzierżawy.
- 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:
Zapoznaj się z przykładami kodu integracji usługi Twilio w usłudze GitHub
Wprowadzenie do zasad niestandardowych w usłudze Azure AD B2C