Où vit la session ?
Un cookie reçu avec Set-Cookie peut être renvoyé automatiquement par le navigateur selon son domaine, son chemin et ses attributs. Un jeton Bearer est généralement envoyé dans Authorization. Un paramètre user_id ne suffit pas à établir l’identité : c’est au serveur de vérifier les informations d’authentification. HttpOnly limite l’accès au cookie depuis JavaScript ; Secure restreint son envoi aux connexions sécurisées ; SameSite encadre les envois entre sites.
Lire un JWT sans croire son contenu
Un JWT signé courant comporte trois parties séparées par des points : en-tête, charge utile et signature. Les deux premières sont généralement encodées en Base64url et peuvent être lisibles sans clé. La signature sert à détecter les modifications. Décoder un rôle ou remplacer le texte de ce rôle ne fournit pas une signature valide.
{"sub":"eleve-a","role":"reader","exp":1893456000}sub identifie le sujet, role est ici un champ choisi par l’application, et exp une date d’expiration en secondes Unix. Lire ces valeurs ne prouve ni la validité du jeton ni les droits réellement appliqués.
Comparer les états
Observe une requête déconnectée, puis connectée avec ton compte de test. Note ce qui change. Une opération sensible peut aussi demander un jeton CSRF, qui protège un contexte de requête et n’est pas un mot de passe. Ne copie pas de cookie ou de jeton de session dans un service de décodage public. Lorsqu’un test échoue, distingue expiration, signature invalide et permission insuffisante.
Vérifie que tu as compris.
3 questions pour mettre les idées en pratique. Réponds avec tes mots, puis vérifie chaque réponse.
La correction repère les notions attendues et certaines formulations proches. Elle reste indicative : lis aussi l’explication. Tes réponses restent dans cette page et ne sont pas enregistrées.