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.

Código de autorización (formato JWT)

El código de autorización es un JSON Web Token (JWT) generado por el emisor. Sigue la RFC 7519 especificación y proporciona protección de identidad e integridad para el servidor TSH.

JWT se utiliza ampliamente para gestionar la autorización y propagar la identidad. Para implementaciones, consulte las bibliotecas listadas en jwt.io.

Un JSON Web Token tiene tres partes: encabezado, declaraciones (claims) y firma. Cada parte es un objeto JSON que está codificado en base64url.

Parte 1: el encabezado

El encabezado define el algoritmo de firma utilizado para el token.

Estos son los campos y valores compatibles:

Campo
Descripción

typ

valor estático 'JWT'

alg

'RS256' donde RSA 2048 se utiliza para el cálculo de la firma y SHA256 para el hash.

kid

Identificador de la clave utilizada para la firma del JWT. Se comparte durante el proceso de incorporación entre el emisor y el servidor TSH. RFU para la gestión de la rotación de claves. Valor que básicamente puede ser cualquier valor que desee, siempre que identifique de forma única su clave. Puede ser huella digital, aleatorio ...

Ejemplo:

// S{ "typ": "JWT", "alg": "RS256" }

{ "typ": "JWT", "alg": "RS256" }

el encabezado (en base64) es:

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9

Parte 2: las declaraciones (claims)

El código de autorización contiene declaraciones sobre el usuario autenticado. También define el período de validez del token. Estos son los campos de claim y valores compatibles:

campo
descripción

iss

El valor issuerId proporcionado durante el proceso de incorporación.

sub

Deberá ser ya sea el valor issuerCardRefId (ya proporcionado en la carga útil JWE) que identifica el PAN autorizado para la solicitud de provisión push o el tokenId para la operación LCM.

aud

La 'audiencia' es el solicitante del token, por lo que el tokenRequestorId se proporciona en este campo. valores como: GOOGLE_PAY / APPLE_PAY / SAMSUNG_PAY

exp

La fecha de expiración del JWT, el formato de fecha está definido en la especificación RFC 7519. El valor máximo recomendado es la fecha/hora actual + 5 minutos.

iat

El momento en el que se emitió el JWT.

jti

El identificador único del JWT. Este es un campo opcional pero si se establece DEBE ser único para cada solicitud.

Parte 3: la firma

La firma se calcula usando RSA-2048 y SHA-256 sobre el encabezado y las declaraciones concatenadas, usando la clave privada del emisor PRIVATE_KEY. El servidor TSH valida la firma usando el certificado proporcionado por el emisor durante el proceso de incorporación.

El siguiente ejemplo en Node.js muestra cómo generar un JWT:

Ejemplo de código de autorización:

Última actualización

¿Te fue útil?