Aller au contenu principal

6. Rafraîchissement d'un jeton d'accès (Refreshing an Access Token)

Si le serveur d'autorisation (Authorization Server) a émis un jeton de rafraîchissement (Refresh Token) au client, le client effectue une demande de rafraîchissement au point de terminaison de jeton (Token Endpoint) en ajoutant les paramètres suivants en utilisant le format application/x-www-form-urlencoded conformément à l'annexe B avec un codage de caractères UTF-8 dans le corps de l'entité de requête HTTP.

grant_type
Requis (REQUIRED). La valeur doit (MUST) être définie sur « refresh_token ».

refresh_token
Requis (REQUIRED). Le jeton de rafraîchissement émis au client.

scope
Facultatif (OPTIONAL). La portée de la demande d'accès telle que décrite dans la section 3.3. La portée demandée ne doit pas (MUST NOT) inclure de portée qui n'a pas été initialement accordée par le propriétaire de ressource (Resource Owner), et si elle est omise, elle est traitée comme égale à la portée initialement accordée par le propriétaire de ressource.

Étant donné que les jetons de rafraîchissement sont généralement des informations d'identification de longue durée utilisées pour demander des jetons d'accès supplémentaires, le jeton de rafraîchissement est lié au client auquel il a été émis. Si le type de client est confidentiel (Confidential) ou si des informations d'identification de client ont été émises au client (ou si d'autres exigences d'authentification ont été attribuées), le client doit (MUST) s'authentifier auprès du serveur d'autorisation comme décrit dans la section 3.2.1.

Par exemple, le client effectue la requête HTTP suivante en utilisant la sécurité de la couche de transport (TLS) (avec des sauts de ligne supplémentaires uniquement à des fins d'affichage) :

POST /token HTTP/1.1
Host: server.example.com
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA

Le serveur d'autorisation doit (MUST) :

  • Exiger l'authentification du client pour les clients confidentiels (Confidential Client) ou pour tout client qui a reçu des informations d'identification de client (ou avec d'autres exigences d'authentification)
  • Authentifier le client si l'authentification du client est incluse et s'assurer que le jeton de rafraîchissement a été émis au client authentifié
  • Valider le jeton de rafraîchissement

Si valide et autorisé, le serveur d'autorisation émet un jeton d'accès (Access Token) comme décrit dans la section 5.1. Si la demande a échoué la vérification ou est invalide, le serveur d'autorisation renvoie une réponse d'erreur comme décrit dans la section 5.2.

Le serveur d'autorisation peut (MAY) émettre un nouveau jeton de rafraîchissement (Refresh Token), auquel cas le client doit (MUST) rejeter l'ancien jeton de rafraîchissement et le remplacer par le nouveau jeton de rafraîchissement. Le serveur d'autorisation peut (MAY) révoquer l'ancien jeton de rafraîchissement ou conserver l'ancien jeton de rafraîchissement après avoir émis un nouveau jeton de rafraîchissement au client. Si un nouveau jeton de rafraîchissement est émis, la portée du jeton de rafraîchissement doit (MUST) être identique à celle que le client a incluse dans la demande de jeton de rafraîchissement.