Générer JWT
La tâche Générer JWT permet de créer des jetons JWT en configurant les paramètres nécessaires à la génération du jeton.
Définition de JWT
Un JSON Web Token (JWT) est un standard ouvert (RFC 7519) qui définit un moyen compact et autonome de transmettre des informations entre les parties sous forme d'objet JSON. Ces informations peuvent être vérifiées et fiables car elles sont signées numériquement. Les JWT peuvent être signés à l'aide d'une clé secrète (avec l'algorithme HMAC) ou d'une paire de clés publique/privée à l'aide de RSA ou ECDSA.
Objectif du JWT
Les JWT sont couramment utilisés pour l'authentification et l'autorisation. Lorsqu'un utilisateur se connecte, un jeton est généré qui peut être utilisé pour authentifier les requêtes suivantes sans avoir à renvoyer les informations d'identification de l'utilisateur.
Configuration
1. Signature
- Algorithme : Sélectionnez l'algorithme de signature à utiliser, par exemple RS256.
- Clé privée : Clé privée nécessaire pour signer le jeton. Elle peut être saisie manuellement ou via un paramètre.
2. En-têtes
- Section où ajouter les paires clé-valeur nécessaires pour l'en-tête.
3. Revendications
- Section où ajouter les paires clé-valeur relatives aux revendications nécessaires
Chaque champ dans les sections En-têtes et Revendications peut être valorisé manuellement ou via paramètres et variables du flux de travail.
Cette configuration permet de définir les détails nécessaires pour générer un JSON Web Token (JWT).
Algorithmes symétriques (HSxxx)
Les algorithmes HS (HMAC avec SHA) utilisent une clé symétrique, c'est-à-dire que la même clé est utilisée à la fois pour signer et pour vérifier le jeton.
- HS256 (HMAC + SHA-256)
- Utilise l'algorithme de hachage SHA-256 combiné avec HMAC.
- Sécurité équilibrée : considérée aujourd'hui comme très sûre si la clé est suffisamment longue et aléatoire.
- Utilisation courante pour les applications internes où le signataire et le vérificateur sont les mêmes.
- HS384 (HMAC + SHA-384)
- Variante avec SHA-384, produisant des signatures plus longues.
- Offre une meilleure résistance aux collisions que SHA-256.
- HS512 (HMAC + SHA-512)
- Variante avec SHA-512, encore plus robuste et avec une sortie de 512 bits.
- Adaptée aux contextes à haute sécurité ou où la clé peut être moins protégée.
Note : Étant donné qu'ils sont symétriques, ils nécessitent que toutes les parties connaissent la même clé secrète. Cela peut être un risque si plusieurs systèmes doivent valider le jeton.
Algorithmes asymétriques (RSxxx)
Les algorithmes RS (RSA Signature avec SHA) utilisent une clé asymétrique :
- Une clé privée signe le jeton.
- Une clé publique valide le jeton.
Ceci est utile lorsque l'on souhaite distribuer les jetons dans des environnements où seul le générateur possède la clé privée.
- RS256 (RSA + SHA-256)
- Algorithme le plus répandu pour les JWT dans les contextes d'entreprise.
- Sûr, avec une bonne efficacité.
- RS384 (RSA + SHA-384)
- Variante qui utilise SHA-384 pour une résistance cryptographique accrue.
- RS512 (RSA + SHA-512)
- Variante la plus robuste, avec SHA-512.
- Offre la plus grande résistance aux attaques, mais avec un coût de calcul plus élevé.
Note : Étant donné qu'ils sont asymétriques, ils sont mieux adaptés aux scénarios distribués : le serveur qui émet les jetons conserve la clé privée, tandis que les clients ou les microservices n'obtiennent que la clé publique pour la valider.
Paramètre de sortie
À la complétion de l'exécution, la tâche rend disponibles les Paramètres de sortie suivants, utilisables comme entrée dans les tâches suivantes du Workflow.
- result: Ce paramètre peut retourner un message d'erreur ou le résultat de l'exécution de la tâche (le Token généré). Cette valeur peut être utilisée comme entrée dans les tâches suivantes (ex. "
>#nome_del_task.result<#") - resultJson: représente le résultat de l'exécution de la tâche au format JSON, incluant des informations générales, des configurations et des détails sur l'exécution.