Azure AD Refresh et Access Token et révocation
Pour aller au-delà des considérations matérielles, tels que les cordons RJ45, ou des différentes solutions métiers que l’on fournit, il est parfois intéressant de s’attarder sur les services applicatifs que l’on consomme tous.
C’est pourquoi aujourd’hui nous proposons un article sur le fonctionnement de l’authentification avec Azure AD.
Lors de l’utilisation d'Office 365, il n’est pas simple de comprendre quelles actions vont révoquer un Token Azure AD.
Surtout lorsque l’on utilise divers clients comme des clients web (Edge, Chrome) ou des clients lourds (Outlook, Teams, OneDrive…)
Access et Refresh Token Azure AD
Petit rappel sur les Token Azure et leurs utilisations, sans rentrer dans trop de détails techniques:
- Les Refresh Tokens sont délivrés aux clients (Refresh Token pour les clients lourds type outlook, teams, etc / Cookie de session pour les Browsers Web) après authentification auprès d’Azure AD. ils permettent à ces applications de demander des Access Tokens.
- Ces Refresh Token ont une durée de vie longue.
- Les applications, Browser ou clients lourds présentent un Access Token à la ressource qu’ils tentent d’accéder.
- Les Access Tokens ont une durée de vie très faible (1h)
Voici une petite présentation récapitulant de manière simplifiée l’utilisation de Jeton d’accès dans Azure AD.
Quand un Refresh Token est-il révoqué ?
Nous avons compris que c’est le Refresh Token qui conditionne l'acquisition des Access Tokens, c’est donc celui ci qui peut/doit etre invalidé pour demander une nouvelle ré-authentification de l’utilisateur.
Voici un tableau récapitulatif des différentes actions amenant ou non à la révocation du Refresh Token (ou cookie de session si on parle du Navigateur.)
|
Cookie basé sur une AuthN par mot de passe |
Token Azure basé sur une AuthN par mot de passe |
Cookie basé sur une AuthN autre qu’un mot de passe |
Token Azure basé sur une AuthN autre que par mot de passe |
Token d’un client confidentiel |
Le mot de passe est expiré |
Toujours valable |
Toujours valable |
Toujours valable |
Toujours valable |
Toujours valable |
Mot de passe changé par l’utilisateur |
Révoqué |
Révoqué |
Toujours valable |
Toujours valable |
Toujours valable |
Mot de passe changé par un Admin |
Révoqué |
Révoqué |
Toujours valable |
Toujours valable |
Toujours valable |
Révocation du Token via Powershell (Action Utilisateur) |
Révoqué |
Révoqué |
Révoqué |
Révoqué |
Révoqué |
Révocation du Token via Powershell (Action Admin) |
Révoqué |
Révoqué |
Révoqué |
Révoqué |
Révoqué |
Sign-Out depuis une page Web |
Révoqué |
Toujours valable |
Révoqué |
Toujours valable |
Toujours valable |