Genera JWT
La tarea Genera JWT permite crear tokens JWT configurando varios parámetros necesarios para la generación del token.
Definición de JWT
Un JSON Web Token (JWT) es un estándar abierto (RFC 7519) que define una forma compacta y autónoma de transmitir información entre las partes como un objeto JSON. Esta información puede ser verificada y confiada porque está firmada digitalmente. Los JWT pueden ser firmados utilizando un secreto (con el algoritmo HMAC) o una pareja de claves pública/privada utilizando RSA o ECDSA.
Propósito del JWT
Los JWT se utilizan comúnmente para la autenticación y la autorización. Cuando un usuario inicia sesión, se genera un token que puede ser usado para autenticar las solicitudes sucesivas sin tener que volver a enviar las credenciales del usuario.
Configuración
1. Firma
- Algoritmo: Selecciona el algoritmo de firma a utilizar, por ejemplo RS256.
- Clave privada: Clave privada necesaria para firmar el token. Puede ser ingresada manualmente o a través de un parámetro.
2. Encabezados
- Sección donde se agregan las parejas clave-valor necesarias para el encabezado.
3. Reclamaciones
- Sección donde se agregan las parejas clave-valor relativas a las reclamaciones necesarias
Cada campo en la sección Encabezados y Reclamaciones puede ser valorado manualmente o a través de parámetros y variables del flujo de trabajo.
Esta configuración permite establecer los detalles necesarios para generar un JSON Web Token (JWT).
Algoritmos Simétricos (HSxxx)
Los algoritmos HS (HMAC con SHA) usan una clave simétrica, es decir, la misma clave sirve tanto para firmar como para verificar el token.
- HS256 (HMAC + SHA-256)
- Usa el algoritmo de hashing SHA-256 combinado con HMAC.
- Seguridad equilibrada: considerada hoy muy segura si la clave es lo suficientemente larga y aleatoria.
- Uso común para aplicaciones internas donde quien firma y quien verifica coinciden.
- HS384 (HMAC + SHA-384)
- Variante con SHA-384, produce firmas más largas.
- Ofrece mayor resistencia a colisiones que SHA-256.
- HS512 (HMAC + SHA-512)
- Variante con SHA-512, aún más robusta y con salida de 512 bits.
- Adecuada en contextos de alta seguridad o donde la clave puede circular menos protegida.
Nota: Al ser simétricos, requieren que todos los participantes conozcan la misma clave secreta. Esto puede ser un riesgo si hay más sistemas que deben validar el token.
Algoritmos Asimétricos (RSxxx)
Los algoritmos RS (RSA Firma con SHA) usan una clave asimétrica:
- Una clave privada firma el token.
- Una clave pública valida el token.
Esto es útil cuando se quiere distribuir los tokens en entornos donde solo el generador debe poseer la clave privada.
- RS256 (RSA + SHA-256)
- Algoritmo más difundido para JWT en contextos empresariales.
- Seguro, con buena eficiencia.
- RS384 (RSA + SHA-384)
- Variante que usa SHA-384 para una mayor resistencia criptográfica.
- RS512 (RSA + SHA-512)
- Variante más robusta, con SHA-512.
- Ofrece la máxima resistencia a los ataques, pero con un costo computacional mayor.
Nota: Al ser asimétricos, se prestan mejor a escenarios distribuidos: el servidor que emite los tokens conserva la clave privada, mientras que los clientes o microservicios obtienen solo la clave pública para verificar su validez.
Parámetro de Salida
Al completarse la ejecución, la tarea hace disponibles los siguientes Parámetros de Salida, utilizables como entrada en las tareas siguientes del Workflow.
- result: Este parámetro puede devolver un mensaje de error o el resultado de la ejecución de la Tarea (el Token generado). Este valor puede ser utilizado como entrada en las Tareas siguientes (ej. "
>#nome_del_task.result<#") - resultJson: representa el resultado de la ejecución de la tarea en formato JSON, incluyendo información general, configuraciones y detalles sobre la ejecución.