Integrace aplikace Twilio Verify s Azure Active Directory B2C

V tomto názorném postupu se dozvíte, jak integrovat ukázkovou online platební aplikaci v Azure Active Directory B2C (Azure AD B2C) s rozhraním TWilio Verify API. Pomocí aplikace Twilio Verify můžou zákazníci Azure AD B2C vyhovět požadavkům transakcí PSD2 (direktiva Platebních služeb 2) prostřednictvím dynamického propojení a silného ověřování zákazníků.

Předpoklady

Abyste mohli začít, budete potřebovat:

  • Předplatné Azure. Pokud předplatné nemáte, můžete získat bezplatný účet.
  • Tenant Azure AD B2C, který je propojený s vaším předplatným Azure.
  • Zkušební účet ve společnosti Twilio.

Popis scénáře

Následující komponenty tvoří řešení Twilio:

  • Ukázková webová aplikace .NET PSD2, která umožňuje přihlášení nebo registraci a provedení fiktivní vysoce rizikové transakce.

  • Kombinované zásady přihlašování a registrace v Azure AD B2C

  • Zásady Azure AD B2C integrované s rozhraním TWilio Verify API pomocí id_token_hint.

  • Webová aplikace .NET, která hostuje .well-known koncový bod OpenId Připojení umožňující ověření id_token_hint.

    twilio flow

Krok Description
1 Uživatel zahájí přihlášení nebo se zaregistruje do ukázkové aplikace PSD2. Uživatel se ověřuje prostřednictvím kombinované zásady přihlašování a registrace Azure AD B2C. Do aplikace se vrátí token. Při registraci se telefonní číslo uživatele ověří pomocí SMS/Telefon a zaznamená se do svého účtu Azure AD B2C.
2 Uživatel zahájí vysoce rizikovou transakci, například převod 50,00 USD. Aktuální přístupový token uživatele se vyhodnocuje pro Id zásad, aby se zjistilo, jestli se uživatel už ověřil pomocí vlastních zásad krok nahoru.
3 Aplikace zaznamená hodnotu transakce a příjemce, 50,00 USD a John Doe a vygeneruje podepsaný token. Tento token se nazývá id_token_hint a obsahuje deklaraci identity amount:$500, payee:john doe. Odešle se id_token_hint spolu s požadavkem na vlastní zásady Azure AD B2C, které jsou integrované s Platformou Twilio.
4 Azure AD B2C ověří podpis id_token_hint kontrolou koncového bodu OpenId aplikací /.well-known Připojení. Po ověření extrahuje deklarace identity z tohoto tokenu, zejména amountpayee Uživateli se zobrazí stránka, na které si ověří svoje mobilní telefonní číslo prostřednictvím zprávy SMS.
5 Uživatel požádá o ověření svého telefonního čísla prostřednictvím zprávy SMS a Azure AD B2C odešle požadavek rozhraní REST API do koncového bodu rozhraní API pro ověření twilio. Také odešle transakci amount a payee v rámci procesu PSD2 vygeneruje jednorázové heslo (OTP). Twilio odešle zprávu SMS na registrované telefonní číslo uživatele.
6 Uživatel zadá do zprávy SMS přijaté jednorázové heslo a odešle ho do Azure AD B2C. Azure AD B2C vytvoří požadavek rozhraní API s tímto jednorázovým heslem k ověření rozhraní API služby Twilio a ověří správnost jednorázového hesla. Nakonec se aplikaci vystaví token s novou hodnotou PolicyId, která uživatele stupňová.

Onboarding s Platformou Twilio

  1. Získejte zkušební účet na platformě Twilio.

  2. Nákup čísla Telefon u Twilia, jak je popsáno v tomto článku

  3. Přejděte na ověřit rozhraní API v konzole Twilio a podle pokynů vytvořte službu a povolte možnost PSD2.

Konfigurace ukázkové aplikace PSD2

  1. Otevřete řešení B2C-WebAPI-DotNet a nahraďte následující hodnoty vlastními hodnotami specifickými pro tenanta v souboru 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. Webová aplikace také hostuje generátor nápovědy tokenu ID a koncový bod metadat.

    • Vytvořte podpisový certifikát, jak je popsáno v tomto ukázkovém popisu.

    • Aktualizujte následující řádky na základě vašeho certifikátu v souboru web.config:

      <add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. Nahrajte ukázkové aplikace do zvoleného poskytovatele hostingu. Pokyny pro službu Aplikace Azure Service najdete v tomto ukázkovém popisu, včetně pokynů k nahrání certifikátu.

  4. Aktualizujte registraci aplikace Azure AD B2C přidáním adresy URL odpovědi odpovídající adrese URL, ve které je aplikace hostovaná.

  5. Otevřete soubory zásad a nahraďte všechny instance contoso názvem vašeho tenanta.

  6. Vyhledejte technický profil rozhraní Twilio REST API Custom-SMS-Enroll. ServiceURL Aktualizujte id účtu Twilio a číslo Od na zakoupené telefonní číslo.

  7. Vyhledejte technické profily rozhraní Twilio REST API, TwilioRestAPI-Verify-Step1 a TwilioRestAPI-Verify-Step2 a aktualizujte ServiceURL id účtu Twilio.

Integrace s Azure AD B2C

Přidejte soubory zásad do Azure AD B2C:

  1. Přihlaste se k webu Azure Portal jako globální správce vašeho tenanta Azure AD B2C.
  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
  3. Zvolte Všechny služby v levém horním rohu portálu Azure Portal a vyhledejte a vyberte Azure AD B2C.
  4. Přejděte na klíče zásad architektury Identity Experience Framework>služby Azure AD B2C>.
  5. Přidejte nový klíč s názvem B2cRestTwilioClientId. Vyberte ruční a zadejte hodnotu Twilio AccountSID.
  6. Přidejte nový klíč s názvem B2cRestTwilioClientSecret. Vyberte ruční a zadejte hodnotu ověřovacího tokenu Twilio.
  7. Nahrajte všechny soubory zásad do tenanta.
  8. Přizpůsobte řetězec v transformaci deklarací identity GenerateOTPMessageEnrol pro váš text SMS pro registraci.

Testování řešení

  • Přejděte do aplikace a otestujte akce přihlášení, registrace a odeslání peněz.

Další kroky

Další informace najdete v následujících článcích: