Integrazione di Twilio Verify App con Azure Active Directory B2C
Questa procedura dettagliata descrive come integrare un'app di pagamento online di esempio in Azure Active Directory B2C (Azure AD B2C) con l'API Twilio Verify. Usando Twilio Verify App, i clienti di Azure AD B2C possono rispettare i requisiti delle transazioni PSD2 (Direttiva 2 dei servizi di pagamento) tramite il collegamento dinamico e l'autenticazione avanzata dei clienti.
Prerequisiti
Per iniziare, è necessario:
- Una sottoscrizione di Azure. Se non si possiede una sottoscrizione, è possibile ottenere un account gratuito.
- Tenant di Azure AD B2C collegato alla sottoscrizione di Azure.
- Un account di valutazione a Twilio.
Descrizione dello scenario
I componenti seguenti costituiscono la soluzione Twilio:
App Web demo .NET PSD2, che consente di accedere o iscriversi ed eseguire una transazione fittizia ad alto rischio.
Criteri di accesso e iscrizione combinati di Azure AD B2C.
Criteri di Azure AD B2C integrati con l'API Twilio Verify usando
id_token_hint
.App Web .NET, che ospita un
.well-known
endpoint OpenId Connessione per consentire la convalida di un oggettoid_token_hint
.
Passaggio | Description |
---|---|
1 | L'utente avvia l'accesso o l'iscrizione all'app DEMO PSD2. L'utente viene autenticato tramite i criteri di accesso e iscrizione combinati di Azure AD B2C. Un token viene restituito all'applicazione. Al momento dell'iscrizione, il numero di telefono dell'utente viene verificato tramite SMS/Telefono e registrato nel proprio account Azure AD B2C. |
2 | L'utente avvia una transazione ad alto rischio, ad esempio un trasferimento di $ 50,00. Il token di accesso corrente dell'utente viene valutato per policyId per determinare se l'utente ha già eseguito l'autenticazione tramite un criterio personalizzato step-up. |
3 | L'applicazione registra il valore della transazione e il payee, $50,00 e John Doe e genera un token firmato. Questo token viene chiamato e id_token_hint contiene l'attestazione amount:$500, payee:john doe . Viene id_token_hint inviato insieme alla richiesta al criterio personalizzato di Azure AD B2C, integrato con Twilio. |
4 | Azure AD B2C verifica la firma del id_token_hint controllando l'endpoint OpenId Connessione delle applicazioni/.well-known . Dopo la verifica, estrae le attestazioni da questo token, in particolare e amount payee . L'utente visualizzerà una pagina per verificare il numero di telefono cellulare tramite SMS. |
5 | L'utente richiede di verificare il numero di telefono tramite sms e Azure AD B2C effettua una richiesta API REST all'endpoint API Twilio Verify. Invia anche la transazione amount e payee come parte del processo PSD2 per generare il passcode monouso (OTP). Twilio invia un messaggio SMS al numero di telefono registrato dell'utente. |
6 | L'utente immette l'OTP ricevuto nel messaggio SMS e lo invia ad Azure AD B2C. Azure AD B2C effettua una richiesta API con questo OTP all'API di verifica di Twilio per verificare che OTP sia corretto. Infine, viene rilasciato un token all'applicazione, con un nuovo PolicyId che indica che l'utente ha eseguito l'autenticazione. |
Eseguire l'onboarding con Twilio
Ottenere un account di valutazione in Twilio.
Acquistare un numero Telefono in Twilio come descritto in questo articolo
Passare a Verifica API nella console di Twilio e seguire le istruzioni per creare un servizio e abilitare l'opzione PSD2.
Configurare l'app demo PSD2
Aprire la soluzione B2C-WebAPI-DotNet e sostituire i valori seguenti con i valori specifici del tenant in 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/" />
L'app Web ospita anche il generatore di hint del token ID e l'endpoint dei metadati.
Creare il certificato di firma come descritto in questa descrizione di esempio.
Aggiornare le righe seguenti in base al certificato in web.config:
<add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" /> <add key="ida:SigningCertAlgorithm" value="RS256" />
Caricare l'applicazione demo nel provider di hosting preferito. Le indicazioni per app Azure Servizio sono disponibili in questa descrizione di esempio, incluse le istruzioni per il caricamento del certificato.
Aggiornare la registrazione dell'applicazione Azure AD B2C aggiungendo un URL di risposta equivalente all'URL in cui è ospitata l'applicazione.
Aprire i file dei criteri e sostituire tutte le istanze di con il nome del
contoso
tenant.Trovare il profilo tecnico dell'API REST Twilio Custom-SMS-Enroll. Aggiornare con l'account
ServiceURL
TwilioSID e il numero da al numero di telefono acquistato.Trovare i profili tecnici dell'API REST Twilio, TwilioRestAPI-Verify-Step1 e TwilioRestAPI-Verify-Step2 e aggiornare con l'account
ServiceURL
TwilioSID.
Integrazione con Azure AD B2C
Aggiungere i file dei criteri ad Azure AD B2C:
- Accedere al portale di Azure come amministratore globale del tenant di Azure AD B2C.
- Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.
- Scegliere Tutti i servizi nell'angolo in alto a sinistra del portale di Azure, cercare Azure AD B2C e selezionarlo.
- Passare ad Azure AD B2C Identity Experience Framework Policy Keys (Chiavi dei criteri del framework>dell'esperienza di gestione delle identità di Azure AD B2C).>
- Aggiungere una nuova chiave con il nome B2cRestTwilioClientId. Selezionare manuale e specificare il valore di Twilio AccountSID.
- Aggiungere una nuova chiave con il nome B2cRestTwilioClientSecret. Selezionare manuale e specificare il valore di Twilio AUTH TOKEN.
- Caricare tutti i file dei criteri nel tenant.
- Personalizzare la stringa nella trasformazione delle attestazioni GenerateOTPMessageEnrol per il testo SMS di iscrizione.
Test della soluzione
- Passare all'applicazione e testare le azioni di accesso, iscrizione e Invia denaro.
Passaggi successivi
Per altre informazioni, vedere gli articoli seguenti:
Vedere esempi di codice di integrazione di GitHub per Twilio