HTTP > Effectuer une requête JWT module
Le module Adobe Workfront Fusion HTTP > Effectuer une requête JWT envoie une requête HTTP(S) à une URL et l’autorise avec un jeton JSON Web Token (JWT) que le module signe pour vous à chaque appel. La réponse est ensuite traitée de la même manière que dans le module standard HTTP > Effectuer une requête.
Ce module se comporte comme le module standard Effectuer une requête, avec une différence principale : il signe automatiquement un jeton JWT à partir des revendications que vous fournissez et l’ajoute à la requête, par défaut comme Authorization: Bearer <token>.
Utilisez ce module pour appeler toute API qui attend un JWT signé pour l’authentification, comme les services qui nécessitent un jeton porteur de courte durée signé avec un secret partagé (HMAC) ou une clé privée (RSA/ECDSA), sans créer le jeton lors d’une étape distincte.
Si l’API utilise OAuth 2.0, authentification de base, une clé API ou un certificat client, utilisez plutôt le module HTTP dédié correspondant.
Conditions d’accès
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| Package Adobe Workfront |
Tout package de workflow Adobe Workfront et tout package d’automatisation et d’intégration Adobe Workfront Workfront Ultimate Packages Workfront Prime et Select, avec l’achat supplémentaire de Workfront Fusion. |
| Licences Adobe Workfront |
Standard Travail ou supérieur |
| Licence Adobe Workfront Fusion |
Basé sur les opérations : disponible pour les organisations disposant de licences basées sur les opérations Basé sur un connecteur (hérité) : Workfront Fusion pour l’automatisation et l’intégration du travail |
| Produit | Si votre organisation dispose d’un package Workfront Select ou Prime qui n’inclut pas l’automatisation et l’intégration de Workfront, elle doit acquérir Adobe Workfront Fusion. |
Pour plus d’informations sur le contenu de ce tableau, consultez Conditions d’accès requises dans la documentation.
Pour plus d’informations sur les licences Adobe Workfront Fusion, consultez Licences Adobe Workfront Fusion.
Créer une connexion JWT
Le module nécessite une connexion JWT. La connexion stocke le matériel de signature afin que le secret ou la clé privée n’ait pas à apparaître dans le scénario.
Créer une connexion JWT dans Fusion
-
Ajoutez le module HTTP > Effectuer une requête JWT à votre scénario.
-
Cliquez sur Ajouter à côté du champ Connexion.
-
Configurez les champs de connexion :
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header Nom de la connexion Saisissez un nom pour la connexion. Algorithme Sélectionnez l’algorithme de signature de la connexion.
HS256HS384HS512RS256RS384RS512PS256PS384PS512ES256ES384ES512
Secret Saisissez la clé de signature.
- Pour les algorithmes
HS*, utilisez la chaîne secrète partagée . - Pour les algorithmes
RS*,PS*etES*, utilisez la clé privée codée en PEM.
-
Cliquez sur Continuer pour créer la connexion et revenir au module.
HTTP > Effectuer une requête JWT le module et ses champs
Lorsque vous configurez le module HTTP > Effectuer une requête JWT, Adobe Workfront Fusion affiche les champs répertoriés ci-dessous dans l’ordre dans lequel ils apparaissent dans l’interface utilisateur du module. Un titre en gras dans un module indique un champ obligatoire. Les champs marqués comme avancés sont masqués, sauf si vous sélectionnez Afficher les paramètres avancés.
Création du jeton
- Le module collecte les revendications dans le champ Payload (revendications) du JWT .
- Créances réservées telles que
exp``iat, etnbfsont converties en valeurs NumericDate. - Le module applique les options de signature et signe le jeton à l’aide de l’algorithme de la connexion.
- Le jeton signé est placé dans l’en-tête de la requête défini par Nom de l’en-tête.
- Si le paramètre Type de jeton est défini, le module ajoute le préfixe avant le jeton. Par exemple,
Bearer eyJ…. - La requête est envoyée et la réponse est traitée de la même manière que le module standard HTTP > Effectuer une requête.
Le jeton signé est automatiquement masqué dans les journaux de débogage et d’erreur afin de ne jamais être exposé.
Exemple
Connexion
- Algorithme :
HS256 - Secret :
my-shared-secret
Paramètres du module
-
URL :
https://api.example.com/v1/orders -
Méthode :
GET -
Payload du JWT (revendications) :
sub=service-account-42iss=make-integration
-
Options de signature :
expiresIn=1h
-
Nom de l’en-tête :
Authorization -
Type de jeton :
Bearer
Résultat
Le module envoie la requête avec un en-tête similaire à :
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
FAQ / pièges
Pourquoi mon jeton a-t-il expiré si rapidement ?
Vous avez probablement saisi un nombre nu pour des expiresIn telles que 3600. La bibliothèque jsonwebtoken interprète les nombres simples en millisecondes. Utilisez plutôt une chaîne unitaire telle que "1h" ou "3600s".
Quand le jeton est-il créé ?
Le module signe un nouveau JWT chaque fois qu’il s’exécute, et non lorsque vous créez la connexion. La connexion stocke uniquement le matériel de signature et l’algorithme, de sorte que les revendications telles que iat et exp reflètent le moment de l’exécution de ce module.
Si la requête fait l’objet de nouvelles tentatives au cours de la même exécution de module, Fusion réutilise le même jeton signé pour ces nouvelles tentatives au lieu de signer un nouveau jeton pour chaque tentative. Pour cette raison, une valeur de expiresIn très courte peut expirer avant qu’une nouvelle tentative ne se produise et entraîner une nouvelle tentative d’envoi d’un jeton ayant déjà expiré. Pour éviter cela, utilisez une chaîne d’unité claire telle que "1h" ou "3600s" et évitez les durées de vie des jetons trop courtes.
Puis-je modifier l’algorithme par demande ?
Non. L’algorithme est fixé par la connexion. Si vous avez besoin d’un autre algorithme, créez une autre connexion JWT.
Puis-je envoyer le jeton dans un en-tête personnalisé ?
Oui. Définissez le champ Nom de l’en-tête sur un nom personnalisé, mais il ne peut pas contenir de point (.).
Puis-je envoyer le jeton brut sans Bearer ?
Oui. Laissez le champ Type de jeton vide.
Le jeton est-il visible dans les journaux ?
Non. Le jeton signé est automatiquement masqué dans les journaux de débogage et d’erreur.
jsonwebtoken et reflète le comportement de signature de l’application JWT autonome. De ce fait, les mêmes entrées produisent le même jeton que l’application JWT autonome.