搭配 Azure Active Directory B2C 設定 Jumio 的教學課程
在本教學課程中,瞭解如何將 Azure Active Directory B2C (Azure AD B2C) 與 Jumio整合,這是一項識別碼驗證服務,可讓即時自動化識別碼驗證協助保護客戶資料。
必要條件
若要開始,您需要:
Azure 訂用帳戶
- 如果沒有訂用帳戶,您可以取得 Azure 免費帳戶
- 連結至 Azure 訂用帳戶的 Azure AD B2C 租用戶
案例描述
Jumio 整合包括下列元件:
- Azure AD B2C - 驗證使用者認證的授權伺服器,也稱為識別提供者 (IdP)
- Jumio - 驗證使用者識別碼詳細資料
- 中繼 REST API - 使用它來實作 Azure AD B2C 和 Jumio 整合
- Azure Blob 儲存體 - 使用它來取得 Azure AD B2C 原則的自訂 UI 檔案
下列結構圖顯示該實作。
- 使用者登入或註冊,並建立帳戶。 Azure AD B2C 會收集使用者屬性。
- Azure AD B2C 會呼叫仲介層 API,並傳遞使用者屬性。
- 仲介層 API 會將使用者屬性轉換成 Jumio API 格式,並將屬性傳送至 Jumio。
- Jumio 會處理屬性,並將結果傳回仲介層 API。
- 仲介層 API 會處理結果,並將相關資訊傳送至 Azure AD B2C。
- Azure AD B2C 會接收資訊。 如果回應失敗,則會出現錯誤訊息。 如果回應成功,則會驗證使用者並寫入目錄中。
建立 Jumio 帳戶
若要建立 Jumio 帳戶,請移至 [jumio.com 連絡人 ] 頁面。
搭配 Jumio 設定 Azure AD B2C
建立 Jumio 帳戶之後,請使用它來設定 Azure AD B2C。
部署 API
從 samples/Jumio/API/Jumio.Api/,將程式碼部署至 Azure 服務。 您可以從 Visual Studio 發佈程式碼。
注意
若要設定Microsoft Entra識別碼,您需要已部署的服務 URL。
部署用戶端憑證
用戶端憑證可協助保護 Jumio API 呼叫。
使用下列 PowerShell 範例程式碼來建立自我簽署憑證:
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Demo-SigningCertificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -NotAfter (Get-Date).AddYears(2) -CertStoreLocation "Cert:\CurrentUser\My" $cert.Thumbprint $pwdText = "Your password" $pwd = ConvertTo-SecureString -String $pwdText -Force -AsPlainText Export-PfxCertificate -Cert $Cert -FilePath "{your-local-path}\Demo-SigningCertificate.pfx" -Password $pwd.
憑證會匯出至 指定
{your-local-path}
的位置。若要將憑證匯入Azure App 服務,請參閱上傳私人憑證。
建立簽署/加密金鑰
建立長度大於 64 個字元的隨機字串, (字母和數位) 。
例如:
C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65
使用下列 PowerShell 指令碼來建立該字串:
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
設定 API
您可以在Azure App 服務中設定應用程式設定,而不將它們簽入存放庫。 您必須為 REST API 提供下列設定:
應用程式設定 | 來源 | 備註 |
---|---|---|
JumioSettings:AuthUsername | Jumio 帳戶設定 | N/A |
JumioSettings:AuthPassword | Jumio 帳戶設定 | N/A |
AppSettings:SigningCertThumbprint | 已建立的自我簽署憑證指紋 | N/A |
AppSettings:IdTokenSigningKey | 使用 PowerShell 建立的簽署金鑰 | N/A |
AppSettings:IdTokenEncryptionKey | 使用 PowerShell 建立的加密金鑰 | N/A |
AppSettings:IdTokenIssuer | (GUID 值的 JWT 權杖簽發者是慣用的) | N/A |
AppSettings:IdTokenAudience | (GUID 值慣用 JWT 權杖的物件) | N/A |
AppSettings:BaseRedirectUrl | Azure AD B2C 原則基底 URL | https://{您的租用戶名稱}.b2clogin.com/{您的應用程式識別碼} |
WEBSITE_LOAD_CERTIFICATES | 已建立的自我簽署憑證指紋 | N/A |
部署 UI
- 在您的儲存體帳戶中設定 Blob 儲存體容器。
- 將 /samples/Jumio/UI/ 的 UI 檔案儲存在您的 Blob 容器中。
更新 UI 檔案
- 在 UI 檔案中,移至 /samples/Jumio/UI/ocean_blue/。
- 開啟每個 HTML 檔案。
- 尋找並取代
{your-ui-blob-container-url}
為您的 Blob 容器 URL。 - 尋找並取代
{your-intermediate-api-url}
為中繼 API 應用程式服務 URL。
注意
建議您在屬性集合頁面上新增同意通知。 通知使用者資訊會移至協力廠商服務以進行身分識別驗證。
設定 Azure AD B2C 原則
- 移至 /samples/Jumio/Policies/中的 Azure AD B2C 原則。
- 使用 自訂原則入門套件 中的指示,下載 LocalAccounts 入門套件。
- 設定 Azure AD B2C 租用戶的原則。
注意
更新與租使用者相關的原則。
測試使用者流程
- 開啟 Azure AD B2C 租用戶。
- 在 [原則] 之下,選取 [Identity Experience Framework]。
- 選取您建立 的 SignUpSignIn。
- 選取 [執行使用者流程]。
- 針對 [應用程式],選取已註冊的應用程式 (範例為 JWT) 。
- 針對 [回覆 URL],請選取 [重新導向 URL]。
- 選取 [執行使用者流程]。
- 完成註冊流程。
- 建立帳戶。
- 建立使用者屬性之後,會呼叫 Jumio。
提示
如果流程不完整,請確認使用者是或未儲存在目錄中。