Aller au contenu principal

6. Unsecured JWTs (JWT non sécurisés)

Pour prendre en charge les cas d'utilisation où le contenu du JWT est sécurisé par des moyens autres qu'une signature et/ou un chiffrement contenus dans le JWT (comme une signature sur une structure de données contenant le JWT), les JWT peuvent (MAY) également être créés sans signature ni chiffrement. Un JWT non sécurisé (Unsecured JWT) est un JWS utilisant la valeur de paramètre d'en-tête "alg" "none" et avec la chaîne vide pour sa valeur de signature JWS, comme défini dans la spécification JWA [JWA] ; c'est un JWS non sécurisé avec le JWT Claims Set comme charge utile JWS.

6.1. Example Unsecured JWT (Exemple de JWT non sécurisé)

L'exemple suivant de JOSE Header déclare que l'objet encodé est un JWT non sécurisé :

{"alg":"none"}

L'encodage base64url des octets de la représentation UTF-8 du JOSE Header produit cette valeur de JOSE Header encodée :

eyJhbGciOiJub25lIn0

Voici un exemple de JWT Claims Set :

{"iss":"joe",
"exp":1300819380,
"http://example.com/is_root":true}

L'encodage base64url des octets de la représentation UTF-8 du JWT Claims Set produit ce JWS Payload encodé (avec des sauts de ligne à des fins d'affichage uniquement) :

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ

La JWS Signature encodée est la chaîne vide.

La concaténation de ces parties encodées dans cet ordre avec des caractères point ('.') entre les parties produit ce JWT complet (avec des sauts de ligne à des fins d'affichage uniquement) :

eyJhbGciOiJub25lIn0
.
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.