Jumio と Azure Active Directory B2C を構成するチュートリアル
このチュートリアルでは、Azure Active Directory B2C (Azure AD B2C) と、顧客データの保護に役立つリアルタイムの自動 ID 検証を可能にする ID 検証サービスである Jumio を統合する方法について説明します。これは、す。
前提条件
作業を開始するには、以下が必要です。
Azure サブスクリプション
- お持ちでない場合は、Azure 無料アカウントを取得できます
- お使いの Azure サブスクリプションにリンクされている Azure AD B2C テナント
シナリオの説明
Jumio 統合には、次のコンポーネントが含まれています。
- Azure AD B2C: ユーザー資格情報を検証する承認サーバー (ID プロバイダー (IdP) とも呼ばれます)
- Jumio - ユーザー ID の詳細を確認します
- 中間 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 の [Contact] ページに移動します。
Azure AD B2C と Jumio を構成する
Jumio アカウントを作成したら、それを使用して Azure AD B2C を構成します。
API をデプロイする
samples/Jumio/API/Jumio.Api/ から、Azure サービスにコードをデプロイします。 Visual Studio からコードを発行できます。
Note
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 に次の設定を指定する必要があります。
アプリケーションの設定 | source | Notes |
---|---|---|
JumioSettings:AuthUsername | Jumio アカウントの構成 | 該当なし |
JumioSettings:AuthPassword | Jumio アカウントの構成 | 該当なし |
AppSettings:SigningCertThumbprint | 作成された自己署名証明書の拇印 | 該当なし |
AppSettings:IdTokenSigningKey | PowerShell を使用して作成された署名キー | 該当なし |
AppSettings:IdTokenEncryptionKey | PowerShell を使用して作成された暗号化キー | 該当なし |
AppSettings:IdTokenIssuer | JWT トークンの発行者 (GUID 値が優先されます) | 該当なし |
AppSettings:IdTokenAudience | JWT トークンの対象ユーザー (GUID 値が優先されます) | 該当なし |
AppSettings:BaseRedirectUrl | Azure AD B2C ポリシー ベース URL | https://{your-tenant-name}.b2clogin.com/{your-application-id} |
WEBSITE_LOAD_CERTIFICATES | 作成された自己署名証明書の拇印 | 該当なし |
UI をデプロイする
- ストレージ アカウントで BLOB ストレージ コンテナーを設定します。
- UI ファイルを /samples/Jumio/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 に置き換えます。
Note
属性コレクション ページで同意通知を追加することをお勧めします。 本人確認のために情報がサード パーティのサービスに送信されることをユーザーに通知します。
Azure AD B2C ポリシーを構成する
- /samples/Jumio/Policies/ の Azure AD B2C ポリシーに移動します。
- カスタム ポリシー スターター パックの手順を使用して、LocalAccounts スターター パックをダウンロードします。
- Azure AD B2C テナントのポリシーを構成します。
注意
ポリシーを更新して、お使いのテナントに関連付けてください。
ユーザー フローをテストする
- Azure AD B2C テナントを開きます。
- [ポリシー] で [Identity Experience Framework] を選択します。
- 作成した SignUpSignIn を選択します。
- [ユーザー フローを実行します] を選択します。
- [アプリケーション] に対して、登録済みのアプリ (JWT など) を選択します。
- [応答 URL] の場合は、リダイレクト URL を選択します。
- [ユーザー フローを実行します] を選択します。
- サインアップ フローを完了します。
- アカウントを作成します。
- ユーザー属性が作成されると、Jumio が呼び出されます。
ヒント
フローが不完全な場合は、ユーザーがディレクトリに保存されているか、またはそうでないか確認してください。