パスワードレス認証のために Azure Active Directory B2C を使用して Nevis を構成するチュートリアル

このチュートリアルでは、Nevis Access アプリで Azure Active Directory B2C (Azure AD B2C) のパスワードレス認証を有効にし、顧客認証を有効にして Payment Services Directive 2 (PSD2) トランザクション要件に準拠する方法について説明します。 PSD2 は、EU および欧州経済領域 (EEA) 全体の決済サービスおよび決済サービス プロバイダーを規制するために欧州委員会 (国内市場総局) が管理する欧州連合 (EU) 指令です。

前提条件

作業を開始するには、以下が必要です。

Note

Nevis をサインアップ ポリシー フローに統合するには、カスタム ポリシーを使用するように Azure AD B2C 環境を構成します。
チュートリアル: Azure Active Directory B2C でユーザー フローとカスタム ポリシーを作成する」をご覧ください。

シナリオの説明

パスワードレス認証を行うために、ブランド化された Access アプリをバックエンド アプリケーションに追加します。 このソリューションは、次のコンポーネントで構成されています。

  • バックエンドに対してサインインとサインアップのポリシーを組み合わせた Azure AD B2C テナント
  • Azure AD B2C を強化するための、Nevis インスタンスとその REST API
  • ブランド化された Access アプリ

この図は実装を示しています。

Azure AD B2C と Nevis を使用した高レベルのパスワード サインイン フローを示す図

  1. ユーザーが Azure AD B2C ポリシーを使用してアプリケーションへのサインインまたはサインアップを試みます。
  2. サインアップ時に、QR コードを使用して、Access がユーザー デバイスに登録されます。 ユーザー デバイスで秘密キーが生成され、ユーザーの要求の署名に使用されます。
  3. Azure AD B2C が、RESTful 技術プロファイルを使用して、Nevis ソリューションでのサインインを開始します。
  4. サインイン要求が、プッシュ メッセージ、QR コード、またはディープ リンクとして Access に送信されます。
  5. ユーザーは、生体認証を使用してサインインの試行を承認します。 メッセージが Nevis に送られ、格納されている公開キーを使用してサインインが検証されます。
  6. Azure AD B2C が、サインインが完了したことの確認要求を Nevis に送信します。
  7. Azure AD B2C の成功または失敗のメッセージによって、アプリケーションへのアクセスがユーザーに対して許可または拒否されます。

Azure AD B2C テナントの統合

Nevis アカウントを要求する

  1. Nevis + Microsoft Azure AD B2C の nevis.net に移動します。
  2. フォームを利用してアカウントを要求します。
  3. 次の 2 つのメールが届きます。
  • 管理アカウントの通知
  • モバイル アプリの招待

Nevis アカウントへの Azure AD B2C テナントの追加

  1. 管理アカウント試用のメールから、管理キーをコピーします。
  2. ブラウザーで https://console.nevis.cloud/ を開きます。
  3. 管理キーを使用して管理コンソールにサインインします。
  4. [インスタンスの追加] を選択します。
  5. 作成したインスタンスを選択します。
  6. 横のナビゲーションで、[Custom Integrations] (カスタム統合) を選択します。
  7. [Add custom integration](カスタム統合を追加) を選択します。
  8. [Integration Name] (統合の名前) に Azure AD B2C テナント名を入力します。
  9. [URL/Domain] (URL/ドメイン)https://yourtenant.onmicrosoft.com を入力します。
  10. [次へ] を選択します
  11. [完了] を選択します。

Note

後で Nevis のアクセス トークンが必要になります。

電話への Nevis Access のインストール

  1. Nevis モバイル アプリの招待メールから、Test Flight アプリの招待を開きます。
  2. アプリをインストールします。

Azure AD B2C と Nevis の統合

  1. Azure portal にサインインします。
  2. Azure AD B2C テナントに切り替えます。 注: Azure AD B2C テナントは、通常、別のテナント内にあります。
  3. メニューで、[Identity Experience Framework (IEF)] を選択します。
  4. [ポリシー キー] を選択します。
  5. [追加] を選択します。
  6. 新しいキーを作成します。
  7. [オプション] には [手動] を選択します。
  8. [名前] で、[AuthCloudAccessToken] を選択します。
  9. [シークレット] に、格納されている Nevis アクセス トークンを貼り付けます。
  10. [キー使用法][暗号化] を選択します。
  11. [作成] を選択します

nevis.html の構成および Azure BLOB ストレージへのアップロード

  1. ID 環境 (IDE) で、/master/samples/Nevis/policy フォルダーにアクセスします。
  2. /samples/Nevis/policy/nevis.html で、nevis.html ファイルを開きます。
  3. authentication_cloud_url を、Nevis 管理コンソール URL https://<instance_id>.mauth.nevis.cloud に置き換えます。
  4. [保存] を選択します。
  5. Azure Blob Storage アカウントを作成します。
  6. nevis.html ファイルを Azure BLOB ストレージにアップロードします。
  7. CORS を構成します
  8. ファイルのクロスオリジン リソース共有 (CORS) を有効にします。
  9. リストから nevis.html ファイルを選択します。
  10. [概要] タブで、URL の横にある [リンクのコピー] アイコンを選択します。
  11. 新しいブラウザー タブでリンクを開いて、灰色のボックスが表示されていることを確認します。

注意

BLOB リンクは後で必要になります。

TrustFrameworkBase.xml のカスタマイズ

  1. IDE で、/samples/Nevis/policy フォルダーにアクセスします。
  2. TrustFrameworkBase.xml を開きます。
  3. テナントTenantId の Azure テナント アカウント名に置き換えます。
  4. テナントPublicPolicyURI の Azure テナント アカウント名に置き換えます。
  5. すべての authentication_cloud_url インスタンスを、Nevis 管理コンソール URL に置き換えます。
  6. [保存] を選択します。

TrustFrameworkExtensions.xml のカスタマイズ

  1. IDE で、/samples/Nevis/policy フォルダーにアクセスします。
  2. TrustFrameworkExtensions.xml を開きます。
  3. テナントTenantId の Azure テナント アカウント名に置き換えます。
  4. テナントPublicPolicyURI の Azure テナント アカウント名に置き換えます。
  5. BasePolicyTenantId で、テナントを Azure テナント アカウント名に置き換えます。
  6. BuildingBlocks で、LoadUri を、BLOB ストレージ アカウントの nevis.html BLOB リンク URL に置き換えます。
  7. [保存] を選択します。

SignUpOrSignin.xml のカスタマイズ

  1. IDE で、/samples/Nevis/policy フォルダーにアクセスします。
  2. SignUpOrSignin.xml ファイルを開きます。
  3. テナントTenantId の Azure テナント アカウント名に置き換えます。
  4. テナントPublicPolicyUri の Azure テナント アカウント名に置き換えます。
  5. BasePolicyTenantId で、テナントを Azure テナント アカウント名に置き換えます。
  6. [保存] を選択します。

Azure AD B2C へのカスタム ポリシーのアップロード

  1. Azure portal で、ご利用の Azure AD B2C テナントを開きます。
  2. [Identity Experience Framework] を選択します。
  3. [カスタム ポリシーのアップロード] を選択します。
  4. 変更した TrustFrameworkBase.xml ファイルを開きます。
  5. [Overwrite the custom policy if it already exists](カスタム ポリシーが既に存在する場合は上書きする) チェックボックスを選択します。
  6. [アップロード] を選択します。
  7. TrustFrameworkExtensions.xml に対して、手順 5. と 6. を繰り返します。
  8. SignUpOrSignin.xml に対して、手順 5. と 6. を繰り返します。

ユーザー フローをテストする

テスト アカウントの作成および Access のセットアップ

  1. Azure portal で、ご利用の Azure AD B2C テナントを開きます。
  2. [Identity Experience Framework] を選択します。
  3. [カスタム ポリシー] まで下にスクロールし、[B2C_1A_signup_signin] を選択します。
  4. [今すぐ実行] を選択します。
  5. ウィンドウで [今すぐサインアップ] を選択します。
  6. 自分のメール アドレスを追加します。
  7. [確認コードを送信する] を選択します。
  8. メールの確認コードをコピーします。
  9. [認証] を選択します。
  10. フォームに新しいパスワードと表示名を入力します。
  11. [作成] を選択します
  12. QR コードのスキャン ページが表示されます。
  13. 電話で、Nevis Access アプリを開きます。
  14. [Face ID] を選択します。
  15. [Authenticator registration was successful] (認証登録が成功しました) 画面が表示されます。
  16. [続行] をクリックします。
  17. 電話で顔認証を行います。
  18. [jwt.ms welcome] (jwt.ms ウェルカム) ページが表示され、デコードされたトークンの詳細が表示されます。

パスワードレス サインインのテスト

  1. Identity Experience Framework で、B2C_1A_signup_signin を選択します。
  2. [今すぐ実行] を選択します。
  3. ウィンドウで、[パスワードレス認証] を選択します。
  4. 電子メール アドレスを入力します。
  5. [続行] をクリックします。
  6. 電話で、通知として [Nevis Access app notification] (Nevis Access アプリ通知) を選択します。
  7. 顔認証を行います。
  8. [jwt.ms welcome] (jwt.ms ウェルカム) ページにトークンが表示されます。

次のステップ