Aller au contenu

JWT

n8n : JWTToutes les offres1 entrée · 1 sortie

Signe, vérifie ou décode un jeton JWT.

Éléments reçusJWTÉléments produits

Fonctionnement

La vérification impose l'algorithme configuré (un jeton « none » ou d'un autre algorithme est refusé), puis contrôle exp, nbf, iss et aud. Décoder lit l'en-tête et le contenu sans aucune garantie d'authenticité.

Paramètres

ParamètreTypeDétail
OpérationchoixValeurs : Signer un jeton, Vérifier un jeton, Décoder sans vérifier.
Cléobligatoire · selon les autres paramètresconnexionConnexion « Clé de signature » : secret (HS…) ou clés PEM (RS, PS, ES, EdDSA).
Algorithmeselon les autres paramètreschoixValeurs : HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256….
Contenu (claims)selon les autres paramètrestexte longObjet JSON après résolution des expressions. « iat » est ajouté automatiquement.
Validité (secondes)selon les autres paramètresnombreVide ou 0 : pas d'expiration.
Jetonobligatoire · selon les autres paramètrestexteLe préfixe « Bearer » est retiré s'il est présent.
Émetteur (iss)selon les autres paramètrestexteSignature : ajouté au jeton. Vérification : exigé s'il est renseigné.
Audience (aud)selon les autres paramètrestexte—
Tolérance d'horloge (secondes)selon les autres paramètresnombre—
Jeton invalideselon les autres paramètreschoixValeurs : Échouer, Continuer avec { valid: false, reason }.
Champ de sortieobligatoiretexteNotation pointée acceptée (resultat.valeur). Les autres champs de l'élément sont conservés.

Données reçues et renvoyées

  • EntréeListe d'éléments.
  • SortieSigner : le jeton (texte). Vérifier et décoder : { header, payload } (et valid, reason si « Continuer »).

Erreurs

Signature invalide, jeton expiré ou pas encore valide, émetteur ou audience différents, clé inadaptée à l'algorithme, contenu non JSON.

Exemple

Paramètres d'un bloc prêt à l'emploi. Dans l'éditeur, l'onglet Aide du bloc applique cet exemple en un clic.

Paramètres de l'exemple (JSON)Ouvrir l'éditeur
{
  "operation": "verify",
  "algorithm": "HS256",
  "token": "{{ $json.headers.authorization }}",
  "issuer": "https://auth.exemple.fr",
  "onInvalid": "flag",
  "outputField": "jwt"
}

Voir aussi