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 が暗号化されたカードデータに含まれている場合のみです。値は、次の値の SHA-256 ハッシュに設定します。 nonce.

iat

必須

トークン発行時刻。で定義されている形式で指定します RFC 7519.

exp

必須

トークン有効期限。で定義されている形式で指定します RFC 7519.

ペイロードの例:

この例では、 sub は、次の値の SHA-256 ハッシュを含みます。 nonceabdda9cfbe2fdce335290773ba6f56a9c5ebe64910.

署名

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

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

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

JWT を生成する

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

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

参照してください 言語別 JWT ライブラリ 対応する実装について。

最終更新

役に立ちましたか?