次の方法で共有


検証済み ID で Microsoft Entra Wallet Library を使用する

このチュートリアルでは、モバイル アプリが検証済み ID を持つ Microsoft Entra Wallet Library を使用して、検証可能な資格情報を発行して提示する方法について説明します。

前提条件

  • Mac/Windows と Android テスト デバイスにインストールされている Android Studio。 Android テスト デバイスで開発者モードを有効にする必要があります。
  • Apple 開発者アカウントXcode を使用した Mac、開発者モードが有効な iOS テスト デバイス。 iOS バージョンは 16 以上である必要があります。
  • テスト デバイスに QR コード リーダー アプリをインストールします。 WalletLibraryDemo アプリには QR コードをスキャンする機能がないため、QR コードをスキャンするには QR コード リーダー アプリが必要です。

このチュートリアルに従ってデモ アプリを起動して実行するために、モバイル開発者である必要はありません。 必要なのは、ツールとテスト デバイスと勇気です。 また、パブリック エンド ツー エンドのデモ Web サイトでデモ アプリをテストできるため、Microsoft Entra 確認済み ID テナントをオンボードする必要はありません。

Note

2024 年 2 月以降、検証済み ID によって使われる NIST 準拠の P-256 曲線についてのサポートを得るには、利用できる最新の Wallet Library をお使いください。

Microsoft Entra Wallet Library とは

iOS および Android 用の Microsoft Entra Wallet Library を使用すると、モバイル アプリで Microsoft Entra Verified ID プラットフォームの使用を開始できます。 Wallet Library を使用すると、モバイル アプリは業界標準に従って検証可能な資格情報を発行して提示できます。

Microsoft Entra Wallet Library を使用するタイミング

Microsoft Authenticator には、Microsoft Entra 検証済み ID のウォレットとしてのすべての機能があります。 ただし、Microsoft Authenticator を使用できない場合は、Wallet Library をお勧めします。 たとえば、ユーザーが使い慣れているモバイル アプリが既にある場合や、検証可能な資格情報テクノロジをこのアプリに含める方がよりふさわしい場合などです。

Microsoft Authenticator とモバイル アプリは、同じモバイル デバイスで Wallet Library をサイド バイ サイドで使用できます。 Authenticator がインストールされている場合は、openid:// のプロトコル ハンドラーを登録したアプリになります。そのため、アプリでは、発行要求とプレゼンテーション要求でアプリが見つかるかどうかを確認する必要があります。 openid:// プロトコルに依存する HTML ページに埋め込まれたディープ リンクを使用すると、Microsoft Authenticator が起動します。

Microsoft では、Microsoft Entra Wallet Library を使用していますか?

はい。Wallet Library は Microsoft Authenticator によって使用されます。 一部の機能は、最初に Authenticator で表示される場合がありますが、それらを Wallet Library でも使用できるようにすることを目指しています。

Microsoft Entra Wallet Library をアプリに追加するための作業はどのようなものですか?

モバイル アプリ プロジェクトに Wallet Library を追加するには、Android 用 Maven の依存関係を追加し、iOS 用 CocoaPod の依存関係を追加します。

iOS の場合は、WalletLibrary ポッドを Podfile に追加します。

target "YourApp" do
  use_frameworks!
  pod "WalletLibrary", "~> 1.0.1"
end

次に、要求を処理するためのコードを追加する必要があります。 詳細については、WalletLibraryDemo サンプル コードを参照してください。

/// Create a verifiedIdClient.
let verifiedIdClient = VerifiedIdClientBuilder().build()

/// Create a VerifiedIdRequestInput using a OpenId Request Uri.
let input = VerifiedIdRequestURL(url: URL(string: "openid-vc://...")!)
let result = await verifiedIdClient.createRequest(from: input)

/// Every external method's return value is wrapped in a Result object to ensure proper error handling.
switch (result) {
case .success(let request):
    /// A request created from the method above could be an issuance or a presentation request. 
    /// In this example, it is a presentation request, so we can cast it to a VerifiedIdPresentationRequest.
    let presentationRequest = request as? VerifiedIdPresentationRequest
case .failure(let error):
    /// If an error occurs, its value can be accessed here.
    print(error)
}

その後、アプリで次の主要なタスクを処理する必要があります。

  • 要求 URL の取得。 Wallet Library には、QR コードなどのスキャン機能は付属していません。 QR コードのスキャンなどのメソッドを使用して要求 URL を取得するには、ユーザーが追加する必要があります。
  • 資格情報の保存。 Wallet Library は、応答の署名に使用される秘密キーと公開キーを作成し、これをデバイスに保存しますが、資格情報を保存するための機能は付属していません。 モバイル アプリの資格情報ストレージを管理する必要があります。
  • ユーザー インターフェイス。 保存された資格情報の視覚的な表現や発行プロセスおよび提示プロセスを推進するための UI は、顧客自身で実装する必要があります。

Wallet Library デモ アプリ

Wallet Library には、GitHub リポジトリにデモ アプリが付属しています。このアプリは変更なしで使用できます。 ビルドしてデプロイするだけです。 デモ アプリは、最小限の発行と提示を示す軽量でシンプルな実装です。 すばやく進めるために、QR コード リーダー アプリを使用して QR コードをスキャンし、それをデモ アプリにコピーして貼り付けることができます。

デモ アプリをテストするには、資格情報を発行し、資格情報のプレゼンテーション要求を行う Web アプリが必要です。 このチュートリアルでは、Woodgrove パブリック デモ Web アプリをこの目的で使用します。

Android サンプルのビルド

Android Studio を使用する開発者用コンピューターで、次の操作を行います。

  1. Android Wallet Library の GitHub リポジトリをダウンロードまたは複製します。 walletlibrary フォルダーは必要ありません。必要に応じて削除できます。

  2. Android Studio を起動し、walletlibrarydemo の親フォルダーを開く

    Android Studio のスクリーンショット。

  3. [ビルド] メニューを選択し、[プロジェクトの作成] を選択します。 この手順には時間がかかります。

  4. USB ケーブルを使用して Android テスト デバイスをノート PC に接続します

  5. Android Studio でテスト デバイスを選択し、[実行] ボタン (緑の三角形) をクリックします

Android サンプルを使用した資格情報の発行

  1. WalletLibraryDemo アプリを起動します

    Android での [要求の作成] のスクリーンショット。

  2. ノート PC で、パブリック デモ Web サイト https://aka.ms/vcdemo を起動し、次の操作を行います

    1. [First Name] と [Last Name] に入力し、[Next] を押します
    2. [Verify with True Identity] を選択します
    3. [Take a selfie][Upload government issued ID] の順に選択します。 このデモでは、シミュレートされたデータが使用されるため、実際のセルフィや ID を提供する必要はありません。
    4. [Next][OK]の順に選択します
  3. テスト デバイスで QR コード リーダー アプリで QR コードをスキャンし、QR コード リーダー アプリに表示されている完全な URL をコピーします。 ピン コードを覚えておいてください。

  4. WalletLibraryDemo アプリに戻り、クリップボードから URL に貼り付けます

  5. [要求の作成] ボタンを押します

  6. アプリで要求をダウンロードすると、次のような画面が表示されます。 テキスト ボックスである白い四角形をクリックし、ブラウザー ページに表示されるピン コードを入力します。 次に、[完了] ボタンをクリックします。

    Android での [PIN コードを入力する] のスクリーンショット。

  7. 発行が完了すると、デモ アプリによって資格情報に要求が表示されます

    Android での [発行完了] のスクリーンショット。

Android サンプルを使用した資格情報の提示

サンプル アプリでは、発行された資格情報はメモリに保持されるため、発行後にプレゼンテーションに使用できます。

  1. 資格情報を正常に発行した場合、WalletLibraryDemo アプリでは、ホーム画面にいくつかの資格情報の詳細が表示されます。

    Android でのアプリの資格情報を示すスクリーンショット。

  2. ブラウザーの Woodgrove デモで、まだ行っていない場合は [Woodgrove に戻る] をクリックし、手順 3「個人用ポータルにアクセスする」に進みます。

  3. テスト デバイスの QR コード リーダー アプリで QR コードをスキャンし、完全な URL をクリップボードにコピーします。

  4. WalletLibraryDemo アプリに戻り、URL を貼り付けて [要求の作成] ボタンをクリックします

  5. アプリはプレゼンテーション要求を取得し、メモリ内にある一致する資格情報を表示します。 この場合、持っているのは 1 つだけです。 小さなチェックマークが表示されるようにクリックし、[完了] ボタンをクリックしてプレゼンテーションの応答を送信します

    Android での資格情報の提示のスクリーンショット。

iOS サンプルを構築する

Xcode を使用する Mac 開発者用コンピューターで、次の操作を行います。

  1. iOS Wallet Library の GitHub リポジトリをダウンロードまたは複製します。

  2. Xcode を起動し、WalletLibrary の最上位フォルダーを開きます

  3. WalletLibraryDemo プロジェクトにフォーカスを設定します

    Xcode のスクリーンショット。

  4. チーム ID を Apple Developer Team ID に変更します。

  5. [製品] メニューを選択し、[ビルド] を選択します。 この手順には時間がかかります。

  6. USB ケーブルを使用して iOS テスト デバイスをノート PC に接続します

  7. Xcode でテスト デバイスを選択します

  8. [製品] メニューを選択し、[実行] を選択するか、三角形の実行をクリックします

iOS サンプルを使用した資格情報の発行

  1. WalletLibraryDemo アプリを起動します

    iOS での [要求の作成] のスクリーンショット。

  2. ノート PC で、パブリック デモ Web サイト https://aka.ms/vcdemo を起動し、次の操作を行います

    1. [First Name] と [Last Name] に入力し、[Next] を押します
    2. [Verify with True Identity] を選択します
    3. [Take a selfie][Upload government issued ID] の順に選択します。 このデモでは、シミュレートされたデータが使用されるため、実際のセルフィや ID を提供する必要はありません。
    4. [Next][OK]の順に選択します
  3. テスト デバイスで QR コード リーダー アプリで QR コードをスキャンし、QR コード リーダー アプリに表示されている完全な URL をコピーします。 ピン コードを覚えておいてください。

  4. WalletLibraryDemo アプリに戻り、クリップボードから URL に貼り付けます

  5. [要求の作成] ボタンを押します

  6. アプリで要求をダウンロードすると、次のような画面が表示されます。 [ピンの追加] テキストをクリックして、ピン コードを入力できる画面に移動し、[追加] ボタンをクリックして戻り、最後に [完了] ボタンをクリックします。

    iOS での [PIN コードを入力する] のスクリーンショット。

  7. 発行が完了すると、デモ アプリによって資格情報に要求が表示されます。

    iOS での [発行完了] のスクリーンショット。

iOS サンプルを使用した資格情報の提示

サンプル アプリでは、発行された資格情報はメモリに保持されるため、発行後にプレゼンテーションに使用できます。

  1. 資格情報を正常に発行した場合、WalletLibraryDemo アプリでは、ホーム画面に資格情報の種類名が表示されます。

    iOS でのアプリの資格情報を示すスクリーンショット。

  2. ブラウザーの Woodgrove デモで、まだ行っていない場合は [Woodgrove に戻る] をクリックし、手順 3「個人用ポータルにアクセスする」に進みます。

  3. テスト デバイスの QR コード リーダー アプリで QR コードをスキャンし、完全な URL をクリップボードにコピーします。

  4. WalletLibraryDemo アプリに戻り、テキスト ボックスから前の要求をクリアし、URL を貼り付けて [要求の作成] ボタンをクリックします

  5. アプリはプレゼンテーション要求を取得し、メモリ内にある一致する資格情報を表示します。 この場合、持っているのは 1 つだけです。 小さなチェックマークが青から緑に切り替わるようにクリックし、[完了] ボタンをクリックしてプレゼンテーションの応答を送信します

    iOS での資格情報の提示のスクリーンショット。

次のステップ

Microsoft Entra 確認済み ID 用にテナントを構成する方法を学習します。