Skip to content

Développement API - Pierre Blarre

OAuth

Icône Présentation
1 / 1

L’autorisation OAuth (Open Authorization) est un protocole ouvert qui permet à des applications tierces d’obtenir un accès limité à un service HTTP :

  • soit sur le compte de l’utilisateur
  • soit par l’intermédiaire d’un service de partage de ressources

Comment ça marche ?

  1. L’utilisateur se connecte à une application tierce
  2. L’application tierce demande l’autorisation à l’utilisateur
  3. L’utilisateur autorise l’application tierce
  4. L’application tierce reçoit un jeton d’accès
  5. L’application tierce peut accéder aux ressources de l’utilisateur

Les acteurs et rôles de l’OAuth

Les acteurs

  • Resource Owner : l’utilisateur
  • Client : l’application tierce
  • Authorization Server : le serveur d’autorisation
  • Resource Server : le serveur de ressources

Les rôles

  • Resource Owner : possède les ressources protégées
  • Client : demande l’accès aux ressources protégées
  • Authorization Server : vérifie l’identité du Resource Owner et autorise le Client
  • Resource Server : héberge les ressources protégées

Les étapes

  1. Obtention de l’autorisation : le Client demande l’autorisation au Resource Owner
  2. Redirection vers l’Authorization Server : le Resource Owner est redirigé vers l’Authorization Server
  3. Autorisation de l’application : le Resource Owner autorise l’application
  4. Redirection vers le Client : le Resource Owner est redirigé vers le Client
  5. Demande de jeton d’accès : le Client demande un jeton d’accès à l’Authorization Server
  6. Réception du jeton d’accès : le Client reçoit un jeton d’accès
  7. Accès aux ressources : le Client accède aux ressources protégées

Les alternatives

  • OpenID Connect : protocole d’authentification basé sur OAuth 2.0
  • SAML : protocole d’authentification et d’autorisation
  • JWT : protocole de transfert de jeton

Conclusion

OAuth est un protocole d’autorisation qui permet à des applications tierces d’obtenir un accès limité à un service HTTP. Il est utilisé pour sécuriser l’accès aux ressources protégées.

Comme pour l’authentification JWT, nous y reviendrons par la suite pour le mettre en place dans notre application.