Logo Logo
GitHub Designed by Logto

Qu’est-ce que l’accès hors ligne (offline access) ?

Le concept d’accès hors ligne peut varier selon le contexte, nous nous concentrerons sur les spécifications OAuth 2.0 et OpenID Connect (OIDC). Dans ce contexte, l’accès hors ligne permet aux clients d’obtenir de nouveaux jetons d’accès (access tokens) en utilisant un jeton de rafraîchissement (refresh token) sans nécessiter que l’utilisateur se réauthentifie. Cette fonctionnalité est particulièrement utile pour des sessions de longue durée et une meilleure expérience utilisateur.

Il convient de noter qu’OAuth 2.0 ne définit pas explicitement le terme “accès hors ligne”; il spécifie seulement l’utilisation de jetons de rafraîchissement pour obtenir de nouveaux jetons d’accès. Cependant, le terme “accès hors ligne” (avec le scope offline_access) a été largement adopté dans l’industrie pour désigner cette capacité, et il est officiellement défini dans la spécification OpenID Connect (OIDC) .

Comment fonctionne l’accès hors ligne (offline access) ?

Pour simplifier, nous allons utiliser les termes OAuth 2.0 Demande d'autorisation (Authorization request) et Serveur d'autorisation (Authorization server) pour illustrer comment fonctionne l’accès hors ligne. Leurs termes alternatifs dans OIDC sont Requête d'authentification (Authentication request) et OpenID Provider (OP) , respectivement.

Il y a deux étapes principales impliquées dans l’utilisation de l’accès hors ligne :

  1. Demander l’accès hors ligne : Lorsque le Client initie une demande d’autorisation (authorization request) vers le serveur d’autorisation (authorization server), il inclut le scope offline_access pour demander l’accès hors ligne. Ce scope indique que le client désire obtenir un jeton de rafraîchissement en plus du jeton d’accès.

    Le support de l’accès hors ligne peut varier entre les serveurs d’autorisation, et le serveur d’autorisation peut ignorer le scope offline_access s’il ne le supporte pas. Veuillez consulter la documentation du serveur d’autorisation pour assurer la compatibilité avant d’utiliser ce scope.

  2. Utilisation du jeton de rafraîchissement : Une fois que l’ Octroi d'autorisation OAuth 2.0 (OAuth 2.0 grant) est terminé, le client devrait recevoir un Jeton d'actualisation (Refresh token) ainsi qu’un Jeton d'accès (Access token) . Le client peut stocker le jeton de rafraîchissement de manière sécurisée et l’utiliser pour envoyer une Demande de jeton (Token request) au serveur d’autorisation pour obtenir un nouveau jeton d’accès lorsque le jeton d’accès actuel expirera.

Pour des exemples détaillés de l’accès hors ligne en action, veuillez vous référer à l’article Jeton d'actualisation (Refresh token) .

Considérations de sécurité

Les implications de sécurité de l’accès hors ligne sont similaires à celles des jetons de rafraîchissement. Veuillez vous référer à la section Considérations de sécurité des jetons de rafraîchissement pour plus de détails.

Voir aussi