パスワードレス認証のために Azure Active Directory B2C を使用して Nevis を構成するチュートリアル
このチュートリアルでは、Nevis Access アプリで Azure Active Directory B2C (Azure AD B2C) のパスワードレス認証を有効にし、顧客認証を有効にして Payment Services Directive 2 (PSD2) トランザクション要件に準拠する方法について説明します。 PSD2 は、EU および欧州経済領域 (EEA) 全体の決済サービスおよび決済サービス プロバイダーを規制するために欧州委員会 (国内市場総局) が管理する欧州連合 (EU) 指令です。
前提条件
作業を開始するには、以下が必要です。
- Nevis デモ アカウント
- Nevis + Microsoft Azure AD B2C の nevis.net に移動してアカウントを要求します
Azure サブスクリプション
- お持ちでない場合は、Azure 無料アカウントを取得できます
- お使いの Azure サブスクリプションにリンクされている Azure AD B2C テナント
Note
Nevis をサインアップ ポリシー フローに統合するには、カスタム ポリシーを使用するように Azure AD B2C 環境を構成します。
「チュートリアル: Azure Active Directory B2C でユーザー フローとカスタム ポリシーを作成する」をご覧ください。
シナリオの説明
パスワードレス認証を行うために、ブランド化された Access アプリをバックエンド アプリケーションに追加します。 このソリューションは、次のコンポーネントで構成されています。
- バックエンドに対してサインインとサインアップのポリシーを組み合わせた Azure AD B2C テナント
- Azure AD B2C を強化するための、Nevis インスタンスとその REST API
- ブランド化された Access アプリ
この図は実装を示しています。
- ユーザーが Azure AD B2C ポリシーを使用してアプリケーションへのサインインまたはサインアップを試みます。
- サインアップ時に、QR コードを使用して、Access がユーザー デバイスに登録されます。 ユーザー デバイスで秘密キーが生成され、ユーザーの要求の署名に使用されます。
- Azure AD B2C が、RESTful 技術プロファイルを使用して、Nevis ソリューションでのサインインを開始します。
- サインイン要求が、プッシュ メッセージ、QR コード、またはディープ リンクとして Access に送信されます。
- ユーザーは、生体認証を使用してサインインの試行を承認します。 メッセージが Nevis に送られ、格納されている公開キーを使用してサインインが検証されます。
- Azure AD B2C が、サインインが完了したことの確認要求を Nevis に送信します。
- Azure AD B2C の成功または失敗のメッセージによって、アプリケーションへのアクセスがユーザーに対して許可または拒否されます。
Azure AD B2C テナントの統合
Nevis アカウントを要求する
- Nevis + Microsoft Azure AD B2C の nevis.net に移動します。
- フォームを利用してアカウントを要求します。
- 次の 2 つのメールが届きます。
- 管理アカウントの通知
- モバイル アプリの招待
Nevis アカウントへの Azure AD B2C テナントの追加
- 管理アカウント試用のメールから、管理キーをコピーします。
- ブラウザーで https://console.nevis.cloud/ を開きます。
- 管理キーを使用して管理コンソールにサインインします。
- [インスタンスの追加] を選択します。
- 作成したインスタンスを選択します。
- 横のナビゲーションで、[Custom Integrations] (カスタム統合) を選択します。
- [Add custom integration](カスタム統合を追加) を選択します。
- [Integration Name] (統合の名前) に Azure AD B2C テナント名を入力します。
-
[URL/Domain] (URL/ドメイン) に
https://yourtenant.onmicrosoft.com
を入力します。 - [次へ] を選択します
- [完了] を選択します。
Note
後で Nevis のアクセス トークンが必要になります。
電話への Nevis Access のインストール
- Nevis モバイル アプリの招待メールから、Test Flight アプリの招待を開きます。
- アプリをインストールします。
Azure AD B2C と Nevis の統合
- Azure portal にサインインします。
- Azure AD B2C テナントに切り替えます。 注: Azure AD B2C テナントは、通常、別のテナント内にあります。
- メニューで、[Identity Experience Framework (IEF)] を選択します。
- [ポリシー キー] を選択します。
- [追加] を選択します。
- 新しいキーを作成します。
- [オプション] には [手動] を選択します。
- [名前] で、[AuthCloudAccessToken] を選択します。
- [シークレット] に、格納されている Nevis アクセス トークンを貼り付けます。
- [キー使用法] で [暗号化] を選択します。
- [作成] を選択します
nevis.html の構成および Azure BLOB ストレージへのアップロード
- ID 環境 (IDE) で、/master/samples/Nevis/policy フォルダーにアクセスします。
- /samples/Nevis/policy/nevis.html で、nevis.html ファイルを開きます。
-
authentication_cloud_url を、Nevis 管理コンソール URL
https://<instance_id>.mauth.nevis.cloud
に置き換えます。 - [保存] を選択します。
- Azure Blob Storage アカウントを作成します。
- nevis.html ファイルを Azure BLOB ストレージにアップロードします。
- CORS を構成します。
- ファイルのクロスオリジン リソース共有 (CORS) を有効にします。
- リストから nevis.html ファイルを選択します。
- [概要] タブで、URL の横にある [リンクのコピー] アイコンを選択します。
- 新しいブラウザー タブでリンクを開いて、灰色のボックスが表示されていることを確認します。
注意
BLOB リンクは後で必要になります。
TrustFrameworkBase.xml のカスタマイズ
- IDE で、/samples/Nevis/policy フォルダーにアクセスします。
- TrustFrameworkBase.xml を開きます。
- テナントを TenantId の Azure テナント アカウント名に置き換えます。
- テナント を PublicPolicyURI の Azure テナント アカウント名に置き換えます。
- すべての authentication_cloud_url インスタンスを、Nevis 管理コンソール URL に置き換えます。
- [保存] を選択します。
TrustFrameworkExtensions.xml のカスタマイズ
- IDE で、/samples/Nevis/policy フォルダーにアクセスします。
- TrustFrameworkExtensions.xml を開きます。
- テナントを TenantId の Azure テナント アカウント名に置き換えます。
- テナント を PublicPolicyURI の Azure テナント アカウント名に置き換えます。
- BasePolicy の TenantId で、テナントを Azure テナント アカウント名に置き換えます。
- BuildingBlocks で、LoadUri を、BLOB ストレージ アカウントの nevis.html BLOB リンク URL に置き換えます。
- [保存] を選択します。
SignUpOrSignin.xml のカスタマイズ
- IDE で、/samples/Nevis/policy フォルダーにアクセスします。
- SignUpOrSignin.xml ファイルを開きます。
- テナントを TenantId の Azure テナント アカウント名に置き換えます。
- テナントを PublicPolicyUri の Azure テナント アカウント名に置き換えます。
- BasePolicy の TenantId で、テナントを Azure テナント アカウント名に置き換えます。
- [保存] を選択します。
Azure AD B2C へのカスタム ポリシーのアップロード
- Azure portal で、ご利用の Azure AD B2C テナントを開きます。
- [Identity Experience Framework] を選択します。
- [カスタム ポリシーのアップロード] を選択します。
- 変更した TrustFrameworkBase.xml ファイルを開きます。
- [Overwrite the custom policy if it already exists](カスタム ポリシーが既に存在する場合は上書きする) チェックボックスを選択します。
- [アップロード] を選択します。
- TrustFrameworkExtensions.xml に対して、手順 5. と 6. を繰り返します。
- SignUpOrSignin.xml に対して、手順 5. と 6. を繰り返します。
ユーザー フローをテストする
テスト アカウントの作成および Access のセットアップ
- Azure portal で、ご利用の Azure AD B2C テナントを開きます。
- [Identity Experience Framework] を選択します。
- [カスタム ポリシー] まで下にスクロールし、[B2C_1A_signup_signin] を選択します。
- [今すぐ実行] を選択します。
- ウィンドウで [今すぐサインアップ] を選択します。
- 自分のメール アドレスを追加します。
- [確認コードを送信する] を選択します。
- メールの確認コードをコピーします。
- [認証] を選択します。
- フォームに新しいパスワードと表示名を入力します。
- [作成] を選択します
- QR コードのスキャン ページが表示されます。
- 電話で、Nevis Access アプリを開きます。
- [Face ID] を選択します。
- [Authenticator registration was successful] (認証登録が成功しました) 画面が表示されます。
- [続行] をクリックします。
- 電話で顔認証を行います。
- [jwt.ms welcome] (jwt.ms ウェルカム) ページが表示され、デコードされたトークンの詳細が表示されます。
パスワードレス サインインのテスト
- Identity Experience Framework で、B2C_1A_signup_signin を選択します。
- [今すぐ実行] を選択します。
- ウィンドウで、[パスワードレス認証] を選択します。
- 電子メール アドレスを入力します。
- [続行] をクリックします。
- 電話で、通知として [Nevis Access app notification] (Nevis Access アプリ通知) を選択します。
- 顔認証を行います。
- [jwt.ms welcome] (jwt.ms ウェルカム) ページにトークンが表示されます。