次の方法で共有


Verified ID と Microsoft Entra ウォレット ライブラリを使用する

このチュートリアルでは、モバイル アプリで Verified ID と Microsoft Entra ウォレット ライブラリを使用して検証可能な資格情報を発行および提示する方法について説明します。

前提条件

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

このチュートリアルに従ってデモ アプリを起動して実行するのに、モバイル開発者である必要はありません。 必要なのはツールとテスト デバイス、そして試す勇気だけです。 また、Microsoft の公開されているエンド ツー エンドのデモ Web サイトを使用してデモ アプリをテストできるため、Microsoft Entra Verified ID テナントをオンボードする必要もありません。

2024 年 2 月以降に Verified ID で使用されている NIST 準拠の P-256 曲線のサポートを受けるには、最新のウォレット ライブラリを使用してください。

Microsoft Entra ウォレット ライブラリとは

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

Microsoft Entra ウォレット ライブラリを使用するタイミング

Microsoft Authenticator には、Microsoft Entra Verified ID のウォレットとして機能するすべての機能が備わっています。 ただし、Microsoft Authenticator を使用できない場合は、ウォレット ライブラリをお勧めします。 たとえば、ユーザーが使い慣れているモバイル アプリが既にあり、検証可能な資格情報テクノロジをこのアプリに組み込むほうが合理的である場合などが挙げられます。

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

Microsoft は Microsoft Entra ウォレット ライブラリを使用していますか?

はい。ウォレット ライブラリは Microsoft Authenticator で使用されています。 一部の機能は最初に Authenticator に表示される可能性がありますが、そうした機能をウォレット ライブラリで利用できるようにすることが私たちの目標です。

Microsoft Entra ウォレット ライブラリをアプリに追加するには、どのような作業が必要ですか?

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 の取得。 ウォレット ライブラリには、QR コードなどをスキャンする機能は付属していません。 アプリに組み込まれていない他のオプションのサポートを提供する場合は、それらの機能を自分で追加する必要があります。
  • 資格情報の格納。 ウォレット ライブラリでは、応答の署名に使用される秘密キーと公開キーが作成され、デバイスに格納されますが、資格情報を格納するための機能はありません。 モバイル アプリの資格情報ストレージを管理する必要があります。
  • ユーザー インターフェイス。 保存されている資格情報の視覚的表現と、発行とプレゼンテーションのプロセスを推進するための UI 要素を実装する必要があります。

ウォレット ライブラリのデモ アプリ

ウォレット ライブラリには、GitHub リポジトリにデモ アプリが付属しています。このアプリは変更なしで使用できます。 ビルドしてデプロイするだけです。 デモ アプリは、発行とプレゼンテーションを最小限にまとめた軽量でシンプルな実装です。 すぐに始めるには、QR コード リーダー アプリを使用して QR コードをスキャンし、それをコピーしてデモ アプリに貼り付けます。

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

Android サンプルの構築

Android Studio を使用する開発者用コンピューターで、次の手順を実行します。

  1. Android 用ウォレット ライブラリ GitHub リポジトリをダウンロードするか複製します。 ウォレット ライブラリ フォルダーは必要ありません。必要に応じて削除できます。

  2. Android Studioを起動し、walletlibrarydemo の親フォルダを開きます。

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

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

  4. Android テスト デバイスを USB ケーブルでノート 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. [ 自撮り写真を撮る ] と [政府発行 ID のアップロード] を選択します。 このデモでは、シミュレートされたデータが使用されるため、実際のセルフィや ID を提供する必要はありません。
    4. [次へ] と [OK] の選択
  3. テスト デバイスの QR コード リーダー アプリで QR コードをスキャンし、QR コード リーダー アプリに表示される完全な URL をコピーします。 PIN コードを覚えておいてください。

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

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

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

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

  7. 発行が完了すると、デモ アプリは資格情報内のクレームを表示します

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

Android サンプルを使用して資格情報を提示する

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

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

    Android 上の資格情報を含むアプリのスクリーンショット。

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

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

  4. WalletLibraryDemo アプリに戻り、URL を貼り付けて [ CREATE REQUEST ] ボタンを選択します

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

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

iOS サンプルを構築する

Xcode を使用する Mac 開発者マシンで、次の手順を実行します。

  1. iOS 用ウォレット ライブラリ GitHub リポジトリをダウンロードするか複製します。

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

  3. WalletLibraryDemo プロジェクトに焦点を設定します

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

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

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

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

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

  8. [Product](製品)メニューを選択してから、実行を選択するか、実行アイコン(三角形)を選択します。

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

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

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

  2. ノート PC で公開されているデモ Web サイト https://aka.ms/vcdemo を立ち上げて、次の操作を行います。

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

  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 用にテナントを構成する方法を学習します。