Comprendre le mécanisme
Un jeton autonome vérifié localement peut rester accepté jusqu’à expiration si le validateur ne consulte aucun état de révocation. Une opération de révocation chez un fournisseur ne se propage donc pas magiquement à toutes les API. Le système doit choisir entre vérifications d’état, durées courtes, listes ciblées ou autre mécanisme documenté, avec ses coûts de disponibilité et de cohérence.
Raisonner et vérifier
Distinguez logout du navigateur, retrait d’un refresh token et invalidation d’un access token déjà émis. Le délai maximal d’acceptation après désactivation doit être mesuré, pas déduit du mot stateless. Une compromission de clé peut imposer une action plus large qu’une seule session. Testez chronologie, cache et instances avec une horloge contrôlée et des clés de laboratoire.
Acceptation autonome
Un token autonome peut rester accepté jusqu’à exp. Les validateurs doivent recevoir ou consulter un état pertinent. Un validateur qui contrôle seulement signature et exp peut accepter une ancienne copie jusqu’à l’échéance. La suppression dans un navigateur ne change pas les octets ni les règles de ce validateur.
Erreur fréquente à comprendre
Un logout local révoque automatiquement toutes ses copies.
Les validateurs doivent recevoir ou consulter un état pertinent.
Deux capacités
Retrait de refresh token et d’access token sont distincts. Le mécanisme des serveurs de ressources compte. Retirer le refresh token empêche un renouvellement selon la politique serveur. Les access tokens déjà émis suivent leur propre validation et peuvent rester admis tant qu’aucun mécanisme ne les retire.
Erreur fréquente à comprendre
Révoquer un refresh token annule instantanément tout access token partout.
Le mécanisme des serveurs de ressources compte.
Délai mesuré
Le délai de retrait doit être mesuré. Il ne précise pas de propagation de révocation. Définissez un objectif de retrait puis observez les refus sur tous les consommateurs. Une intention dans la documentation ne démontre pas le comportement d’un cache ou d’un worker encore actif.
Erreur fréquente à comprendre
Le mot stateless définit un retrait immédiat.
Il ne précise pas de propagation de révocation.
Liste de retrait
Une liste de retrait ajoute un état à consulter. La cohérence entre consommateurs demande une conception. Une denylist ajoute une consultation d’état et un besoin de disponibilité. Définissez index, expiration des entrées et politique de panne ; cette solution modifie le caractère purement autonome de la validation.
Erreur fréquente à comprendre
Une liste locale connue d’une instance est globale par nature.
La cohérence entre consommateurs demande une conception.
Durées courtes
Des durées courtes peuvent réduire une fenêtre. Le risque accepté et les exigences peuvent imposer davantage. Réduire la durée d’un access token peut limiter l’exposition après vol. Évaluez aussi fréquence de renouvellement, charge et expérience utilisateur ; une durée courte ne rend pas une révocation instantanée.
Erreur fréquente à comprendre
Une expiration courte remplace toujours tout besoin de retrait urgent.
Le risque accepté et les exigences peuvent imposer davantage.
Clé compromise
Une clé compromise peut concerner plusieurs sessions. La capacité d’émission peut être plus large. Le retrait d’une clé peut toucher de nombreux tokens et utilisateurs. La procédure doit distinguer session isolée et incident global, avec moyen de distribution rapide et résultat de refus vérifiable.
Erreur fréquente à comprendre
Une compromission de clé est toujours limitée à un utilisateur.
La capacité d’émission peut être plus large.
Caches
Les caches doivent entrer dans la mesure de propagation. Il peut conserver des décisions ou états anciens. Incluez caches de clés, état de compte et listes de retrait dans la chronologie. Un cache trop long peut dépasser le délai annoncé même si la base centrale a déjà enregistré la révocation.
Erreur fréquente à comprendre
Un cache n’influence jamais le délai de refus.
Il peut conserver des décisions ou états anciens.
Horloge de test
Une horloge de test aide à vérifier le retrait. Le laboratoire peut contrôler le temps sans affecter le service réel. Avec une horloge contrôlée, vérifiez avant et après exp et autour du retrait. Évitez les sleeps ; ils rendent la suite lente et peuvent cacher une interprétation imprécise des bornes.
Erreur fréquente à comprendre
Changer arbitrairement l’heure de production est le test recommandé.
Le laboratoire peut contrôler le temps sans affecter le service réel.
État du compte
Une désactivation métier peut demander un contrôle d’état. Les états métier et temporels du token sont distincts. Une suspension de compte peut exiger une consultation ou une version de sécurité contrôlée. Écrivez explicitement si le retrait est immédiat ou différé, puis vérifiez le mécanisme choisi.
Erreur fréquente à comprendre
Un exp futur garantit que le compte est encore actif.
Les états métier et temporels du token sont distincts.
Diagnostic expurgé
Les traces d’incident doivent rester expurgées. Des identifiants et catégories contrôlés peuvent suffire. Conservez catégorie d’incident, identifiant non sensible et version du mécanisme. Le token brut dans les logs créerait une nouvelle copie exploitable au moment même où vous essayez de retirer l’accès.
Erreur fréquente à comprendre
La révocation nécessite de publier chaque bearer token.
Des identifiants et catégories contrôlés peuvent suffire.
Atelier guidé : lire, expliquer et vérifier le code
token:
exp: 2000
validator_clock: 1500
logout_in_browser: true
validator_checks_revocation: false
signature_and_profile: valid L’horloge du validateur est antérieure à exp et aucun état de retrait n’est consulté. Le logout local ne change donc pas la décision décrite. Ajoutez une politique serveur si un refus avant exp est exigé, puis mesurez ce refus avec une copie conservée du token.
1500 est inférieur à 2000 dans cet exercice temporel. Le stockage navigateur ne change pas une signature émise. Aucun mécanisme de propagation n’est défini. Le validateur décrit ne consulte aucun état de retrait.
Travail pratique : Désactivez un compte de test pendant qu’un token est encore dans sa période nominale.
Critères de correction : Mesurez les refus sur chaque instance, puis comparez avec le délai annoncé. Documentez séparément ce qui est retiré au logout et ce qui demeure utilisable ailleurs.
Exemple commenté
t0 : jeton émis
t1 : compte désactivé
t2 : dernier instant d’acceptation mesuré selon politiqueL’intervalle t1–t2 est un résultat de conception à faire accepter selon le risque.
Exercice de mise en pratique
Désactivez un compte de test pendant qu’un token est encore dans sa période nominale.
Voir une proposition de correction
Mesurez les refus sur chaque instance, puis comparez avec le délai annoncé. Documentez séparément ce qui est retiré au logout et ce qui demeure utilisable ailleurs.
Points de vérification
- Délai de retrait mesuré.
- Logout distinct de révocation globale.
- Caches et instances testés.
Contrôle de connaissances
Cours associé : 10. Expiration, révocation et incident ↗Validation du module
101 questions, objectif pédagogique de 75 %. Durée conseillée de 150 minutes, sans limite imposée. Les questions et les choix sont mélangés ; le corrigé apparaît après validation. Le contrôle rapide de la leçon et l’examen final du cours restent des exercices distincts.
Commencer ou reprendre les 101 questions →Cette marque suit votre propre avancement ; elle ne certifie pas la maîtrise du sujet. Effectuez l’exercice avant de passer à la suite.
