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.

NOTE
Si se está conectando a un producto de Adobe que actualmente no tiene un conector dedicado, le recomendamos utilizar el módulo de Adobe Authenticator.
Para obtener más información, consulte Módulo de Adobe Authenticator.

Requisitos de acceso

Expanda para ver los requisitos de acceso para la funcionalidad en este artículo.
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

  1. Agregue el módulo HTTP > Realizar una solicitud JWT a su escenario.

  2. Haga clic en Añadir junto al campo conexión.

  3. 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.

    • HS256
    • HS384
    • HS512
    • RS256
    • RS384
    • RS512
    • PS256
    • PS384
    • PS512
    • ES256
    • ES384
    • ES512
    Secreto

    Introduzca la clave de firma.

    • Para algoritmos de HS*, use la cadena secreta compartida.
    • Para los algoritmos RS*, PS* y ES*, use la clave privada con codificación PEM.
  4. Haga clic en Continue para crear la conexión y volver al módulo.

IMPORTANT
Una conexión JWT firma con un solo algoritmo. Si su escenario requiere más de un algoritmo de firma, cree una conexión independiente para cada algoritmo. Esto coincide con el comportamiento de la aplicación JWT independiente existente.

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.

Connection
Seleccione una conexión JWT existente o cree una nueva.
URL
Dirección URL de destino de la solicitud.
Method
Método HTTP como GET, POST, PUT, PATCH o DELETE.
Headers
Encabezados de solicitud personalizados en formato clave/valor.
Query String
Parámetros de cadena de consulta en formato clave/valor.
Body type
Cómo se codifica el cuerpo de la solicitud. Las opciones son Raw, application/x-www-form-urlencoded y multipart/form-data.
Parse response
Cuando está habilitado, Fusion analiza el cuerpo de la respuesta en función del tipo de contenido de la respuesta.
JWT Payload (Reclamaciones)
Pares de clave/valor incluidos como reclamaciones en la carga útil JWT. Las notificaciones reservadas exp, iat y nbf deben ser un NumericDate (varios segundos desde la época de Unix). Los valores de reclamación mantienen su tipo JSON, por lo que los números permanecen como números y los booleanos permanecen como booleanos.
Timeout (avanzado)
Especifique el tiempo de espera de la solicitud en segundos (1-300). El valor predeterminado es de 40 segundos.
Recuento de reintentos (avanzado)
Especifique cuántas veces la solicitud debe reintentarse si la solicitud falla debido a un error de reintento.
Códigos de estado de reintento adicionales (avanzado)
Especifique códigos de estado HTTP adicionales que deban tratarse como reintentos.
Compartir cookies con otros módulos HTTP (avanzado)
Habilite esta opción para compartir cookies del servidor con todos los módulos HTTP de su escenario.
Certificado autofirmado (avanzado)
Cargue el certificado si desea utilizar TLS con el certificado autofirmado.
Rechazar conexiones que utilizan certificados no verificados (autofirmados) (avanzado)
Habilite esta opción para rechazar conexiones que utilicen certificados TLS no verificados.
Seguir redirección (avanzado)
Habilite esta opción para seguir las redirecciones de URL con respuestas 3xx.
Deshabilitar la serialización de varias claves de cadena de consulta iguales que matrices (avanzado)
De forma predeterminada, Workfront Fusion gestiona varios valores para la misma clave de parámetro de cadena de consulta de URL que las matrices. Por ejemplo, www.test.com?foo=bar&foo=baz se convertirá en www.test.com?foo[0]=bar&foo[1]=baz. Active esta opción para deshabilitar esta función.
Solicitar contenido comprimido (avanzado)
Habilite esta opción para solicitar una versión comprimida del sitio web. Añade un encabezado Accept-Encoding para solicitar contenido comprimido.
Utilizar TLS mutuo (avanzado)
Habilite esta opción para utilizar TLS mutuo en la solicitud HTTP.
Opciones de firma (avanzado)

Para cada opción de firma que desee agregar a la solicitud, haga clic en Agregar elemento e introduzca el nombre y el valor del parámetro.

Se han pasado opciones adicionales al firmante de JWT, como expiresIn, issuer, audience, subject y keyid. La biblioteca jsonwebtoken interpreta los valores de duración como expiresIn. Un número sin formato se trata como milisegundos, así que use una cadena de unidad como "1h" o "3600s" para ser explícito. El algoritmo se toma de la conexión y no se puede anular aquí.

Nombre de encabezado (avanzado)
Introduzca o asigne el nombre del encabezado de solicitud que recibe el JWT firmado. Predeterminado: Authorization. El nombre del encabezado no debe contener un punto (.), ya que los nombres de puntos se rechazan y no se pueden ocultar en los registros de solicitudes.
Tipo de token (avanzado)
Escriba o asigne el esquema de autenticación colocado antes del token, como Bearer. Deje esto en blanco para enviar el token sin procesar sin prefijo.

Cómo se crea el token

  1. El módulo recopila las notificaciones en el campo Carga útil JWT (notificaciones).
  2. Notificaciones reservadas como exp, iaty nbf se convierten en valores NumericDate.
  3. El módulo aplica Opciones de firma y firma el token usando el algoritmo de la conexión.
  4. El token firmado se coloca en el encabezado de solicitud definido por Nombre de encabezado.
  5. Si se establece Token Type, el módulo agrega el prefijo antes del token. Por ejemplo, clave de portador….
  6. 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-42
    • iss = 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.

NOTE
Nota técnica: la firma utiliza la biblioteca 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.
recommendation-more-help
workfront-fusion-help-workfront-fusion