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.

Generar token de autenticación

Resumen

El backend de la billetera digital debe construir un token de autenticación en los siguientes casos:

  • Para admitir el registro del flujo verde.

  • Para proporcionar datos adicionales de la billetera (evaluación de riesgo del emisor).

El backend de la billetera digital firma el token de autenticación con su clave privada.

El backend de NFC Wallet valida el token con la clave pública correspondiente proporcionada durante la incorporación.

Registro del flujo verde

El token demuestra que el emisor ya autenticó al usuario final y aprobó la solicitud de tokenización.

Datos adicionales de la billetera

El token de autenticación permite que la billetera digital proporcione datos adicionales de forma segura. Ayuda a garantizar que ningún intermediario altere los datos adicionales.

Requisitos del token de autenticación

El token de autenticación es un JWT (RFC 7519).

JWT es un formato estándar para transmitir reclamaciones firmadas entre sistemas.

Algoritmos compatibles

El backend de NFC Wallet admite estos algoritmos de firma:

  • RS256

  • PS256

  • PS512

Formato JWT

Un JWT contiene tres partes codificadas en Base64URL separadas por puntos (.):

  • Encabezado

  • Carga útil

  • Firma

El formato compacto es:

<header>.<payload>.<signature>

Encabezado

El encabezado define el tipo de token y el algoritmo de firma.

kid es obligatorio. El backend de NFC Wallet lo usa para seleccionar la clave pública correcta.

Ejemplo de encabezado:

Codifique el encabezado en Base64URL como una sola línea antes de generar la firma.

Carga útil

La carga útil admite estas reclamaciones:

Campo
Obligatorio
Descripción

iss

Obligatorio

Identificador del emisor. Use el issuerId asignado durante la incorporación.

sub

Condicional

Obligatorio solo si nonce está presente en los datos de la tarjeta cifrada. Establezca el valor en el hash SHA-256 del nonce.

iat

Obligatorio

Tiempo de emisión del token, formateado según lo definido en RFC 7519.

exp

Obligatorio

Tiempo de expiración del token, formateado según lo definido en RFC 7519.

wallet

Opcional

Datos adicionales de la billetera en formato de carga útil JSON. Ver Proporcionar datos adicionales de la billetera.

Ejemplo de carga útil:

En el ejemplo anterior, sub es b776ce1e1b00be3f03c7fff59d872c32cfd65cc4377766f47af84f48ea8925f2. Es el hash SHA-256 del nonce valor abdda9cfbe2fdce335290773ba6f56a9c5ebe64910.

Firma

Calcule la firma sobre el encabezado y la carga útil codificados en Base64URL con la clave privada del backend del emisor.

El backend de NFC Wallet valida la firma con la clave pública proporcionada durante la incorporación.

El JWT final es la concatenación del encabezado, la carga útil y la firma codificados, separados por puntos.

Genere el JWT

Puede usar cualquier biblioteca JWT que admita firmas RSA y encabezados personalizados.

Este ejemplo usa la jose4j biblioteca Java:

Ver Bibliotecas JWT por idioma para implementaciones compatibles.

Última actualización

¿Te fue útil?