重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
このチュートリアルでは、Azure Active Directory B2C (Azure AD B2C) と Jumio (顧客データの保護に役立つリアルタイムの自動 ID 検証を可能にする ID 検証サービス) を統合する方法について説明します。
[前提条件]
作業を開始するには、以下が必要です。
Azure サブスクリプション
- お持ちでない場合は、Azure 無料アカウントを取得できます
- Azure サブスクリプションにリンクされた Azure AD B2C テナント
シナリオの説明
Jumio 統合には、次のコンポーネントが含まれています。
- Azure AD B2C - ユーザー資格情報を検証する承認サーバー (ID プロバイダー (IdP) とも呼ばれます)
- Jumio - ユーザー ID の詳細を確認します
- 中間 REST API - それを使用して Azure AD B2C と Jumio の統合を実装する
- Azure Blob Storage - それを 使用して 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 ID を構成するには、デプロイされたサービス 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 Service にインポートするには、「 プライベート証明書をアップロードする」を参照してください。
署名/暗号化キーを作成する
長さが 64 文字を超えるランダムな文字列を作成します (文字と数字のみ)。
例:
C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65
文字列を作成するには、次の PowerShell スクリプトを使用します。
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
API を構成する
アプリケーション設定は、リポジトリにチェックインせずに Azure App Service で構成 できます。 REST API に次の設定を指定する必要があります。
アプリケーションの設定 | 情報源 | 注記 |
---|---|---|
JumioSettings:認証ユーザー名 | Jumio アカウントの構成 | なし |
Jumio設定:認証パスワード | Jumio アカウントの構成 | なし |
アプリ設定:SigningCertThumbprint | 作成された自己署名証明書の拇印 | なし |
AppSettings:IdTokenSigningKey | PowerShell を使用して作成された署名キー | なし |
App設定:IDトークン暗号化キー | PowerShell を使用して作成された暗号化キー | なし |
AppSettings:IdTokenIssuer (英語) | JWT の発行者 (GUID 値が推奨されます) | なし |
アプリ設定:IDトークン受信者 | JWT の対象ユーザー (GUID 値が推奨されます) | なし |
AppSettings:BaseRedirectUrl (英語) | Azure AD B2C ポリシー ベース URL | https://{あなたのテナント名}.b2clogin.com/{あなたのアプリケーションID} |
WEBSITE_LOAD_CERTIFICATES | 作成された自己署名証明書の拇印 | なし |
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 App Service URL に置き換えます。
注
属性コレクション ページに同意通知を追加することをお勧めします。 情報がサード パーティのサービスに行き、ID 検証のためにユーザーに通知します。
Azure AD B2C ポリシーを構成する
- /samples/Jumio/Policies/ の Azure AD B2C ポリシーに移動します。
- LocalAccounts スターター パックをダウンロードするには、カスタム ポリシー スターター パックの手順に従います。
- Azure AD B2C テナントのポリシーを構成します。
注
テナントに関連するようにポリシーを更新します。
ユーザー フローをテストする
- Azure AD B2C テナントを開きます。
- [ ポリシー] で、[ Identity Experience Framework] を選択します。
- 作成した SignUpSignIn を選択します。
- ユーザー フローを実行する を選択します。
- [アプリケーション] で、登録されているアプリ (JWT など) を選択します。
- [応答 URL] で、リダイレクト URL を選択します。
- ユーザー フローを実行する を選択します。
- サインアップ フローを完了します。
- アカウントを作成します。
- ユーザー属性が作成されると、Jumio が呼び出されます。
ヒント
フローが不完全な場合は、ユーザーがディレクトリに保存されているかどうかを確認します。