Comment fonctionne l'authentification JWT · Cartes mentales
Comment fonctionne l'authentification JWT. Une carte mentale modifiable avec des branches colorées, des idées secondaires et des liens. Les courbes montrent les liens; les flèches indiquent les relations où le sens compte.
Un jeton Web JSON est une déclaration signée et autonome indiquant qui vous êtes : le serveur le crée une fois lors de la connexion, et chaque requête ultérieure fait ses preuves avec le jeton au lieu d'une recherche de session.
Comment fonctionne l'authentification JWT · Cartes mentales
Le canevas MindMap interactif de cette explication : chaque couloir, ligne et flèche ci-dessus appartient à un véritable diagramme QueryChart que vous pouvez ouvrir et modifier.
Comment lire cette carte mentale
- Commencez par le sujet central, puis suivez une branche colorée pour explorer ses idées.
- Les courbes montrent les liens; les flèches indiquent les relations où le sens compte.
Sign in
Cette branche rassemble “User submits email and password”, “Credentials valid?”, “Sign-in rejected”, “Server verifies the credentials against the database”.
Build token
Cette branche rassemble “A JWT is three dot-separated parts: a header (algorithm), a payload of claims (who the user is, when the token expires), and a signature. The payload is readable by anyone — it is not secret, it is tamper-evident.”, “Server signs the token with its secret key”.
Client carries JWT
Cette branche rassemble “Client receives the JWT and stores it”, “Client sends the JWT in the Authorization header”.
Verify
Cette branche rassemble “Because the server never stores session state, this check is what makes JWT authentication “stateless” — no session table to look up on every request.”, “Signature valid and not expired?”.
Authorize or reject
Cette branche rassemble “Server trusts the claims and processes the request”, “Request rejected with 401”.
Liens entre les branches
Un JWT est composé de trois parties (en-tête, charge utile, signature) reliées par des points ; la charge utile est lisible mais inviolable.
La signature transforme l'identité en capacité : la possession d'un jeton valide et non expiré est ce qui authentifie la demande.
La vérification est sans état : le recalcul de la signature remplace la recherche de session.
Le jeton doit être stocké en toute sécurité par le client et envoyé à chaque demande, son expiration constitue donc la véritable limite de sécurité.
Les JWT et OAuth vont de pair : OAuth décide de ce que le client peut faire, et JWT est un format commun pour le jeton qui le transporte.
Relations et enseignements clés
- Un JWT est composé de trois parties (en-tête, charge utile, signature) reliées par des points ; la charge utile est lisible mais inviolable.
- La signature transforme l'identité en capacité : la possession d'un jeton valide et non expiré est ce qui authentifie la demande.
- La vérification est sans état : le recalcul de la signature remplace la recherche de session.
- Le jeton doit être stocké en toute sécurité par le client et envoyé à chaque demande, son expiration constitue donc la véritable limite de sécurité.
- Les JWT et OAuth vont de pair : OAuth décide de ce que le client peut faire, et JWT est un format commun pour le jeton qui le transporte.
Quand utiliser ce visuel
- Enseigner à une nouvelle équipe backend pourquoi aucune table de session n'est nécessaire et ce que prouve réellement la signature.
- Choisir entre JWT et les sessions côté serveur pour un service où la mise à l'échelle horizontale rend l'état partagé pénible.
- Examiner les revendications d'un jeton (expiration, émetteur, audience) avant de lui faire confiance dans un microservice.
Comment cela fonctionne
Adapter le sujet central
Renommez le sujet pour votre projet ou votre cours.
Développer les branches
Modifiez les idées et ajoutez des exemples ou des notes.
Relier les idées
Reliez les branches; utilisez une flèche lorsque le sens est important.
Questions fréquentes
Qu'est-ce qu'un JWT et que contient-il ?
Un jeton Web JSON est une chaîne de trois parties séparées par des points : un en-tête indiquant l'algorithme de signature, une charge utile de réclamations sur l'utilisateur et la durée de vie du jeton, et une signature. L'en-tête et la charge utile sont en JSON codé en base64 (lisible par tous) et la signature est ce qui empêche leur modification sans la clé de signature.
Pourquoi l'authentification JWT est-elle appelée apatride ?
Parce que le serveur ne stocke rien sur la session. Chaque requête arrive avec le token, et le serveur vérifie sur place la signature et l'expiration. Il n'y a pas de table de session à interroger ni d'état à répliquer sur les serveurs, ce qui permet à l'approche d'évoluer horizontalement. Le coût est qu’un jeton ne peut pas être révoqué avant son expiration sans machinerie supplémentaire.
Un JWT est-il sécurisé si quelqu'un peut lire la charge utile ?
Lire et faire confiance sont des choses différentes. La charge utile n'est pas cryptée (n'y mettez pas de secrets) mais la signature signifie que toute modification invalide le jeton, donc un client ne peut pas modifier ses propres revendications. Pour la sécurité du transport, le jeton voyage à l'intérieur de HTTPS et les données auxquelles il accorde l'accès sont protégées par le serveur de ressources qui applique les revendications.
Quel est le lien entre JWT et OAuth ?
Ils résolvent différentes moitiés du problème. OAuth est le protocole d'autorisation : comment un client obtient une autorisation et un jeton. JWT est un format de jeton. En pratique, les jetons d'accès OAuth sont souvent des JWT : le serveur d'autorisation signe un JWT portant les scopes, et les serveurs de ressources le vérifient. Ce canevas couvre la moitié de l’authentification ; le visuel OAuth couvre la moitié de la délégation.
Modifier cette carte mentale dans QueryChart
Ouvrez cette carte mentale sur un espace modifiable. Déplacez les idées et ajoutez des branches et des liens.