Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

認証トークンを作成

概要

デジタルウォレットのバックエンドは、次のケースで認証トークンを生成する必要があります。

  • グリーンフロー登録をサポートするため。

  • 追加のウォレットデータ(イシュアのリスクスコアリング)を提供するため。

デジタルウォレットのバックエンドは、秘密鍵で認証トークンに署名します。

NFC Wallet バックエンドは、オンボーディング時に提供された対応する公開鍵でトークンを検証します。

グリーンフロー登録

このトークンは、イシュアが以前にエンドユーザーを認証し、トークン化リクエストを承認したことを証明します。

追加のウォレットデータ

認証トークンにより、デジタルウォレットは追加データを安全に提供できます。これにより、途中の仲介者が追加データを改ざんしないようにできます。

認証トークンの要件

認証トークンは JWT(RFC 7519).

JWT は、署名済みクレームをシステム間で送信するための標準形式です。

サポートされているアルゴリズム

NFC Wallet バックエンドは、次の署名アルゴリズムをサポートしています。

  • RS256

  • PS256

  • PS512

JWT 形式

JWT は、ドットで区切られた 3 つの Base64URL エンコードされた部分で構成されます(.):

  • ヘッダー

  • ペイロード

  • 署名

コンパクト形式は次のとおりです。

<header>.<payload>.<signature>

ヘッダー

ヘッダーはトークンの種類と署名アルゴリズムを定義します。

kid は必須です。NFC Wallet バックエンドは、これを使用して正しい公開鍵を選択します。

ヘッダーの例:

署名を生成する前に、ヘッダーを 1 行にして Base64URL エンコードします。

ペイロード

ペイロードは次のクレームをサポートしています。

フィールド
必須
説明

iss

必須

イシュア識別子。オンボーディング時に割り当てられた issuerId を使用します。

sub

条件付き

次の場合のみ必須 nonce が暗号化されたカードデータに含まれている。値は、 nonce.

iat

必須

の SHA-256 ハッシュに設定します。発行時刻は、 RFC 7519.

exp

必須

有効期限は、 RFC 7519.

wallet

任意

JSON ペイロード形式の追加ウォレットデータ。\n参照 追加のウォレットデータを提供する.

ペイロードの例:

上記の例では、 subb776ce1e1b00be3f03c7fff59d872c32cfd65cc4377766f47af84f48ea8925f2です。これは、 nonce 値の SHA-256 ハッシュです。 abdda9cfbe2fdce335290773ba6f56a9c5ebe64910.

署名

イシュアのバックエンド秘密鍵を使用して、Base64URL エンコードされたヘッダーとペイロードに対する署名を計算します。

NFC Wallet バックエンドは、オンボーディング時に提供された公開鍵で署名を検証します。

最終的な JWT は、エンコードされたヘッダー、ペイロード、署名をドットで区切って連結したものです。

JWT を生成する

RSA 署名とカスタムヘッダーをサポートする任意の JWT ライブラリを使用できます。

この例では jose4j Java ライブラリを使用します。

参照 サポートされている実装の JWT ライブラリ(言語別)

最終更新

役に立ちましたか?