共用方式為


整合 Twilio 驗證應用程式與 Azure Active Directory B2C

在本逐步解說中,瞭解如何在 Azure Active Directory B2C (Azure AD B2C) 中整合範例在線付款應用程式與 Twilio 驗證 API。 藉由使用 Twilio 驗證應用程式,Azure AD B2C 客戶可以透過動態連結和強式客戶驗證來符合 PSD2 (付款服務指示詞 2) 交易需求。

必要條件

若要開始使用,您需要:

案例描述

下列元件組成 Twilio 解決方案:

  • .NET PSD2 示範 Web 應用程式,可讓您登入或註冊,並執行虛擬高風險交易。

  • Azure AD B2C 合併 登入和註冊原則

  • 使用 id_token_hint與 Twilio 驗證 API 整合的 Azure AD B2C 原則。

  • 載入 OpenId 的 .NET Web 應用程式 .well-known 連線 端點允許驗證 id_token_hint

    twilio flow

步驟 描述:
1 用戶會起始登入或註冊 PSD2 Demo 應用程式。 用戶會透過 Azure AD B2C 合併登入和註冊原則進行驗證。 令牌會傳回至應用程式。 註冊時,用戶的電話號碼會使用SMS/電話進行驗證,並記錄在其 Azure AD B2C 帳戶上。
2 使用者起始高風險交易,例如 $50.00 的轉移。 原則標識符會評估使用者的目前存取令牌,以判斷使用者是否已透過 Step-Up 自定義原則進行驗證。
3 應用程式會記錄交易值和付款人、$50.00 和 John Doe,併產生已簽署的令牌。 此權杖稱為 id_token_hint ,並包含宣告 amount:$500, payee:john doe。 會 id_token_hint 連同要求一起傳送至與 Twilio 整合的 Azure AD B2C 自定義原則。
4 Azure AD B2C 會藉由檢查應用程式 /.well-known OpenId 連線 端點來驗證id_token_hint的簽章。 驗證之後,它會從這個令牌擷取宣告,特別是 amountpayee。 使用者會看到頁面,以透過簡訊驗證其行動電話號碼。
5 使用者要求透過SMS訊息驗證其電話號碼,而 Azure AD B2C 會向 Twilio 驗證 API 端點提出 REST API 要求。 它也會傳送交易 amount ,並 payee 作為 PSD2 程式的一部分,以產生一次性密碼 (OTP)。 Twilio 會將簡訊傳送給使用者的已註冊電話號碼。
6 使用者輸入在其SMS訊息中收到的OTP,並將其提交至 Azure AD B2C。 Azure AD B2C 會使用此 OTP 向 Twilio 的驗證 API 提出 API 要求,以確認 OTP 是否正確。 最後,令牌會發行給應用程式,且新的 PolicyId 表示使用者已加強其驗證。

使用 Twilio 上線

  1. 在 Twilio 取得試用帳戶

  2. 如本文所述,在 Twilio 購買 電話 號碼

  3. 流覽至 Twilio 控制台的 [驗證 API ],並依照 指示 建立服務並啟用 PSD2 選項。

設定 PSD2 示範應用程式

  1. 開啟 B2C-WebAPI-DotNet 解決方案,並將下列值取代為 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. Web 應用程式也會裝載標識元令牌提示產生器和元數據端點。

    • 建立您的簽署憑證,如此 範例描述中所述。

    • 根據 web.config 中的憑證更新下列幾行:

      <add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. 將示範應用程式上傳至您選擇的裝載提供者。 此範例描述提供 Azure App 服務 指引,包括上傳憑證的指示。

  4. 藉由新增相當於應用程式裝載 URL 的回復 URL,以更新您的 Azure AD B2C 應用程式註冊。

  5. 開啟原則檔案並將的所有實例contoso取代為您的租用戶名稱。

  6. 尋找 Twilio REST API 技術配置檔 Custom-SMS-EnrollServiceURL使用您的 Twilio AccountSID 和 [從號碼] 更新 為您購買的電話號碼。

  7. 尋找 Twilio REST API 技術配置檔、TwilioRestAPI-Verify-Step1 和 TwilioRestAPI-Verify-Step2,並使用您的 Twilio AccountSID 更新 ServiceURL

與 Azure AD B2C 整合

將原則檔案新增至 Azure AD B2C:

  1. 以 Azure AD B2C 租使用者的全域管理員身分登入 Azure 入口網站
  2. 如果您有多個租使用者的存取權,請選取頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
  3. 選擇 Azure 入口網站 左上角的 [所有服務],搜尋並選取 [Azure AD B2C]。
  4. 流覽至 Azure AD B2C>身分識別體驗架構>原則密鑰。
  5. 新增名稱 為 B2cRestTwilioClientId 的新密鑰。 選取 [手動],並提供 Twilio AccountSID 的值。
  6. 新增名稱 為 B2cRestTwilioClientSecret 的新密鑰。 選取 [手動],並提供 Twilio AUTH TOKEN 的值。
  7. 將所有原則檔案上傳至您的租使用者。
  8. 為註冊 SMS 文字自定義 GenerateOTPMessageEnrol 宣告轉換中的字串。

測試解決方案

  • 流覽至您的應用程式並測試登入、註冊和傳送 Money 動作。

下一步

如需詳細資訊,請檢閱下列文章: