Qu'est-ce que JWT et comment ça marche ?

Les JSON Web Tokens (JWT) sont compacts et URL-sûrs pour échanger des revendications, souvent pour l'intégrité et l'authenticité.

Louis Dupont

Louis Dupont

5 June 2025

Qu'est-ce que JWT et comment ça marche ?

Les JSON Web Tokens (JWT) sont un moyen compact et sûr pour les URL de représenter des revendications à transférer entre deux parties. Ces revendications sont souvent utilisées pour garantir l'intégrité et l'authenticité des informations.

Cet article explore le fonctionnement des JWT. Nous examinerons la structure d'un JWT, qui se compose de trois parties encodées et signées numériquement. Nous discuterons ensuite des cas d'utilisation courants des JWT et examinerons certains des avantages de leur utilisation,

La structure d'un JWT (avec exemple)

Un JSON Web Token (JWT) se compose de trois parties séparées par des points : l'en-tête, la charge utile et la signature. La structure globale est :

xxxxxxxxxx.yyyyyyyyyy.zzzzzzzzzz

En-tête :

Charge utile :

Signature :

En mettant tout ensemble :

En-tête : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
Charge utile : eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
Signature : HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

JWT encodé :

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwia

Les avantages de l'utilisation de JWT :

Les JWT contiennent des objets JSON qui sont encodés et signés, garantissant l'intégrité et l'authenticité sans s'appuyer sur des sessions avec état sur le serveur.

Certains des principaux avantages qui rendent les JWT utiles sont :

JWT vs OAuth : la différence entre JWT et OAuth

JWT (JSON Web Token) et OAuth sont liés mais servent des objectifs différents dans le contexte de l'authentification et de l'autorisation dans le développement Web. Voici une brève comparaison de JWT et OAuth :

JWT (JSON Web Token) :

  1. Objectif : JWT est un moyen compact et autonome de transmettre des informations entre les parties en toute sécurité. Il est couramment utilisé pour l'authentification et l'échange d'informations.
  2. Contenu : JWT contient des revendications concernant une entité (généralement, un utilisateur) et est souvent utilisé pour l'authentification des utilisateurs. Les revendications peuvent inclure l'ID utilisateur, les rôles, les autorisations et d'autres informations pertinentes. Les JWT sont souvent utilisés pour créer des systèmes d'authentification sans état.
  3. Utilisation : Les JWT sont généralement envoyés dans le cadre des en-têtes de requête dans les requêtes HTTP. Ils sont utilisés pour représenter l'identité et les privilèges de l'utilisateur.

OAuth (Open Authorization) :

  1. Objectif : OAuth est un framework d'autorisation, permettant à une application tierce d'accéder aux ressources d'un utilisateur sur un autre serveur sans exposer les informations d'identification de l'utilisateur. OAuth n'est pas conçu pour l'authentification mais pour la délégation d'autorité.
  2. Rôles : OAuth définit des rôles tels que le propriétaire de la ressource, le client, le serveur d'autorisation et le serveur de ressources. Il permet des scénarios dans lesquels un utilisateur peut accorder l'accès à ses ressources (par exemple, photos, contacts) à une autre application sans partager ses informations d'identification.
  3. Types de subventions : OAuth introduit des types de subventions (code d'autorisation, implicite, informations d'identification du client, mot de passe, etc.) pour spécifier comment le processus d'autorisation doit être effectué.
  4. Jetons : OAuth implique l'utilisation de jetons d'accès et de jetons d'actualisation. Les jetons d'accès sont utilisés pour accéder aux ressources protégées, et les jetons d'actualisation peuvent être utilisés pour obtenir un nouveau jeton d'accès.

Différences clés :

Comment fonctionne JWT ?

Les JSON Web Tokens (JWT) jouent un rôle clé dans l'authentification en fournissant un moyen sûr et efficace de vérifier l'identité des utilisateurs. Le processus implique généralement les étapes suivantes :

  1. Authentification de l'utilisateur : Les utilisateurs se connectent en utilisant leur nom d'utilisateur et leur mot de passe ou via des fournisseurs externes comme Google ou Facebook. Le serveur d'authentification valide les informations d'identification et émet un JSON Web Token (JWT) certifiant l'identité de l'utilisateur.
  2. Génération de JWT : Le fournisseur d'identité (IdP) génère un JWT, le signant avec un sel secret ou une clé privée. Ce JWT encapsule les informations essentielles de l'utilisateur, telles que l'ID utilisateur, les rôles et le délai d'expiration.
  3. Utilisation de JWT : Le client de l'utilisateur stocke en toute sécurité le JWT obtenu lors de l'authentification. Lors de l'accès aux ressources protégées, le client inclut le JWT dans l'en-tête d'autorisation HTTP.
  4. Vérification du jeton : Le serveur de ressources décode et vérifie l'authenticité du JWT à l'aide du sel secret ou de la clé publique fournie. Ce processus garantit l'intégrité et l'origine du jeton.

JWT dans Apidog

Apidog est un outil de développement et de test d'API convivial qui excelle dans la gestion des JSON Web Tokens (JWT). Grâce à son interface intuitive, Apidog simplifie le processus de gestion des JWT, en fournissant une prise en charge automatique de la génération de jetons, de la gestion dynamique et de l'inclusion transparente dans les requêtes d'API.

JWT

Cet outil rationalise les aspects liés aux JWT du développement d'API, permettant aux développeurs de se concentrer sur des tests et une intégration efficaces dans leurs flux de travail.

button

Explore more

Fathom-R1-14B : Modèle de raisonnement IA avancé d'Inde

Fathom-R1-14B : Modèle de raisonnement IA avancé d'Inde

L'IA en expansion rapide. Fathom-R1-14B (14,8 milliards de paramètres) excelle en raisonnement mathématique et général, conçu par Fractal AI Research.

5 June 2025

Mistral Code : L'assistant de codage le plus personnalisable basé sur l'IA pour les entreprises

Mistral Code : L'assistant de codage le plus personnalisable basé sur l'IA pour les entreprises

Découvrez Mistral Code, l'IA d'aide au code la plus personnalisable pour les entreprises.

5 June 2025

Comment Claude Code transforme le codage de l'IA en 2025

Comment Claude Code transforme le codage de l'IA en 2025

Découvrez Claude Code en 2025 : codage IA révolutionné. Fonctionnalités, démo, et pourquoi il gagne du terrain après Windsurf d'Anthropic. Indispensable !

5 June 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API