Flux de code d'autorisation

Le flux de code d'autorisation est un protocole de sécurité utilisé dans OAuth 2.0 pour permettre à des applications tierces d'accéder aux ressources d'un utilisateur sans révéler ses infos d'identification.

Dans ce flux, l'application cliente redirige l'utilisateur vers le serveur d'autorisation, où il se connecte et approuve la demande d'accès du client. Après approbation, le serveur d'autorisation envoie un code d'autorisation au client, qui l'échange contre un jeton d'accès et, éventuellement, un jeton d'actualisation. Ce jeton d'accès est ensuite utilisé pour envoyer des demandes autorisées au serveur de ressources au nom de l'utilisateur.

Les utilisateurs recourent généralement au flux de code d'autorisation lorsqu'ils sont invités à se connecter à une application ou à un service tiers en utilisant leurs infos d'identification d'une autre plateforme, par exemple en se connectant à un site Web à l'aide de leur compte Google ou Facebook. Ce flux est couramment utilisé lorsqu'un utilisateur souhaite accorder l'accès à ses ressources (notamment des données ou des services) à une application tierce sans partager directement ses infos d'identification.

La principale différence entre le flux de code d'autorisation et le flux de code d'autorisation avec PKCE (Proof Key for Code Exchange, soit Clé de preuve pour l'échange de codes) réside dans les mécanismes de sécurité utilisés pour prévenir certaines attaques, notamment contre les applications mobiles et natives.

Dans le flux de code d'autorisation standard, le client reçoit un code d'autorisation une fois l'utilisateur authentifié auprès du serveur d'autorisation. Le client échange alors ce code contre un jeton d'accès. Ce flux est toutefois vulnérable aux attaques par interception du code d'autorisation, où un attaquant peut intercepter le code d'autorisation et l'utiliser pour obtenir un jeton d'accès.

Le flux de code d'autorisation avec PKCE ajoute une couche de sécurité supplémentaire en utilisant un secret généré dynamiquement, le vérificateur de code, pour authentifier la demande d'autorisation. Ce flux est donc plus sécurisé, en particulier dans les environnements où il est difficile de stocker en toute sécurité les secrets des clients, notamment les applications mobiles ou natives.

Pour créer un type de privilège à l'aide du flux de code d'autorisation :

Procédure

  1. Suivez les étapes 1 à 6 de la section Créer une connexion OAuth.
  2. Sélectionnez le type de privilège Flux d'infos d'identification du client.

    Sélectionnez Flux de code d'autorisation ou Flux de code d'autorisation avec PKCE pour séparer l'authentification utilisateur de la délivrance d'un jeton en vue de renforcer la sécurité, car ce type de privilège prend en charge l'actualisation des jetons pour un accès longue durée sans révéler les infos d'identification sensibles.

  3. Suivez les étapes 8 à 18 de la section Créer une connexion OAuth.