HTTP > Realizar una solicitud JWT módulo
El módulo Adobe Workfront Fusion HTTP > Realizar una solicitud JWT envía una solicitud HTTP(S) a una dirección URL y la autoriza con un token web JSON (JWT) que el módulo firma por usted en cada llamada. La respuesta se procesará del mismo modo que en el módulo estándar HTTP > Realizar una solicitud.
Este módulo se comporta como el módulo estándar Realizar una solicitud, con una diferencia principal: firma automáticamente un JWT de las notificaciones que proporcione y lo agrega a la solicitud, de forma predeterminada como Authorization: Bearer <token>.
Utilice este módulo para llamar a cualquier API que espere un JWT firmado para la autenticación, como servicios que requieran un token de portador de corta duración firmado con un secreto compartido (HMAC) o una clave privada (RSA/ECDSA), sin crear el token en un paso independiente.
Si la API utiliza OAuth 2.0, autenticación básica, una clave de API o un certificado de cliente, utilice el módulo HTTP dedicado correspondiente en su lugar.
Requisitos de acceso
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| Paquete de Adobe Workfront |
Cualquier paquete del flujo de trabajo de Adobe Workfront y cualquier paquete de integración y automatización de Adobe Workfront Workfront Ultimate Paquetes Workfront Prime y Select, con una compra adicional de Workfront Fusion. |
| Licencias de Adobe Workfront |
Estándar Trabajo o superior |
| Licencia de Adobe Workfront Fusion |
Basado en operaciones: disponible para organizaciones con licencias basadas en operaciones Basado en conector (heredado): Workfront Fusion for Work Automation and Integration |
| Producto | Si su organización tiene un paquete de Workfront Select o Prime que no incluye la automatización y la integración de Workfront, su organización debe adquirir Adobe Workfront Fusion. |
Para obtener más información sobre el contenido de esta tabla, consulte Requisitos de acceso en la documentación.
Para obtener información sobre las licencias de Adobe Workfront Fusion, consulte licencias de Adobe Workfront Fusion.
Creación de una conexión JWT
El módulo requiere una conexión JWT. La conexión almacena el material de firma para que la clave secreta o privada no tenga que aparecer en el escenario.
Creación de una conexión JWT en Fusion
-
Agregue el módulo HTTP > Realizar una solicitud JWT a su escenario.
-
Haga clic en Añadir junto al campo conexión.
-
Configure los campos de conexión:
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header Nombre de la conexión Introduzca un nombre para la conexión. Algoritmo Seleccione el algoritmo de firma para la conexión.
HS256HS384HS512RS256RS384RS512PS256PS384PS512ES256ES384ES512
Secreto Introduzca la clave de firma.
- Para algoritmos de
HS*, use la cadena secreta compartida. - Para los algoritmos
RS*,PS*yES*, use la clave privada con codificación PEM.
-
Haga clic en Continue para crear la conexión y volver al módulo.
HTTP > Realizar una solicitud JWT módulo y sus campos
Al configurar el módulo HTTP > Realizar una solicitud JWT, Adobe Workfront Fusion muestra los campos que se indican a continuación en el mismo orden en que aparecen en la interfaz de usuario del módulo. El título en negrita en un módulo indica un campo obligatorio. Los campos marcados como avanzados están ocultos a menos que seleccione Mostrar configuración avanzada.
Cómo se crea el token
- El módulo recopila las notificaciones en el campo Carga útil JWT (notificaciones).
- Notificaciones reservadas como
exp,iatynbfse convierten en valores NumericDate. - El módulo aplica Opciones de firma y firma el token usando el algoritmo de la conexión.
- El token firmado se coloca en el encabezado de solicitud definido por Nombre de encabezado.
- Si se establece Token Type, el módulo agrega el prefijo antes del token. Por ejemplo,
clave de portador…. - La solicitud se envía y la respuesta se procesa del mismo modo que el módulo estándar HTTP > Realizar una solicitud.
El token firmado se enmascara automáticamente en los registros de depuración y error para que nunca se exponga.
Ejemplo
Conexión
- Algoritmo:
HS256 - Secreto:
my-shared-secret
Configuración del módulo
-
URL:
https://api.example.com/v1/orders -
Método:
GET -
Carga útil JWT (reclamaciones):
sub=service-account-42iss=make-integration
-
Opciones de firma:
expiresIn=1h
-
Nombre de encabezado:
Authorization -
Tipo de token:
Bearer
Resultado
El módulo envía la solicitud con un encabezado similar al siguiente:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Preguntas frecuentes / gotchas
¿Por qué caducó mi token tan rápido?
Es probable que haya especificado un número sin formato para expiresIn, como 3600. La biblioteca jsonwebtoken interpreta los números simples como milisegundos. En su lugar, use una cadena de unidad como "1h" o "3600s".
¿Cuándo se crea el token?
El módulo firma un JWT nuevo cada vez que se ejecuta el módulo, no cuando crea la conexión. La conexión almacena únicamente el material de firma y el algoritmo, por lo que notificaciones como iat y exp reflejan el momento en que se ejecuta ese módulo.
Si la solicitud se reintenta dentro de la misma ejecución de módulo, Fusion volverá a utilizar el mismo token firmado para esos intentos de reintento en lugar de firmar un nuevo token para cada intento. Debido a esto, un valor expiresIn muy corto puede caducar antes de que se produzca un reintento y hacer que este envíe un token que ya ha caducado. Para evitarlo, use una cadena de unidad transparente como "1h" o "3600s" y evite duraciones de tokens demasiado cortas.
¿Puedo cambiar el algoritmo por solicitud?
No. La conexión corrige el algoritmo. Si necesita un algoritmo diferente, cree una conexión JWT diferente.
¿Puedo enviar el token en un encabezado personalizado?
Sí. Establezca el campo Nombre de encabezado en un nombre personalizado, pero no puede contener un punto (.).
¿Puedo enviar el token sin procesar sin Bearer?
Sí. Deje Tipo de token vacío.
¿El token es visible en los registros?
No. El token firmado se enmascara automáticamente en los registros de depuración y error.
jsonwebtoken y refleja el comportamiento de firma de la aplicación JWT independiente, de modo que las mismas entradas producen el mismo token que la aplicación JWT independiente.