Shield
securite

Oauth2

Protocole d'autorisation standard permettant à des applications tierces d'accéder à des ressources sans partager les identifiants.

OAuth 2.0 : le standard d'autorisation du web moderne

OAuth 2.0 est un protocole d'autorisation qui permet à une application tierce d'obtenir un accès limite aux ressources d'un utilisateur sur un service, sans que l'utilisateur n'ait à partager ses identifiants. C'est le protocole utilise quand vous cliquez "Se connecter avec Google" ou "Autoriser cette application".

Les rôles dans OAuth 2.0

  • Resource Owner : l'utilisateur qui possède les données (vous)
  • Client : l'application qui veut accéder aux données (une app tierce)
  • Authorization Server : le serveur qui authentifie l'utilisateur et délivré les tokens (Google, GitHub, etc.)
  • Resource Server : le serveur qui heberge les données protégées (l'API)

Les flux d'autorisation (Grant Types)

Authorization Code : le flux le plus securise, recommande pour les applications web avec un backend. L'utilisateur est redirige vers le serveur d'autorisation, s'authentifie, puis un code est échange contre un token cote serveur.

Authorization Code + PKCE : extension du flux précédent pour les applications mobiles et SPA. PKCE (Proof Key for Code Exchange) ajoute une vérification cryptographique pour prévenir l'interception du code.

Client Credentials : pour la communication machine-to-machine, sans utilisateur implique. Le client s'authentifie directement avec son ID et son secret.

Device Code : pour les appareils sans navigateur (TV, CLI). L'utilisateur s'authentifie sur un autre appareil en entrant un code affiche a l'écran.

Les tokens

  • Access Token : token a courte durée de vie (minutes/heures) qui autorise l'accès aux ressources. Souvent au format JWT.
  • Refresh Token : token a longue durée de vie utilise pour obtenir un nouvel access token sans re-authentification. Doit être stocke de manière sécurisée.

Les scopes

Les scopes définissent le périmètre d'accès demande. Par exemple, une application peut demander le scope "read:email" pour lire l'email mais pas "write:profile" pour modifier le profil. L'utilisateur voit et approuve les scopes demandes.

OAuth 2.0 vs OpenID Connect

OAuth 2.0 gere l'autorisation (ce que vous pouvez faire). OpenID Connect (OIDC) est une couche d'identité construite au-dessus d'OAuth 2.0 qui gere l'authentification (qui vous êtes). OIDC ajoute un ID Token contenant les informations de l'utilisateur.

Sécurité et bonnes pratiques

  1. Toujours utiliser HTTPS : les tokens transitent en clair dans les headers
  2. Valider les tokens cote serveur : vérifier la signature, l'expiration, l'audience
  3. Utiliser des scopes minimaux : principe du moindre privilege
  4. Stocker les refresh tokens de manière sécurisée : jamais dans le localStorage
  5. Implémenter la rotation des refresh tokens : chaque utilisation genere un nouveau token

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

Quelle est la difference entre OAuth 2.0 et OAuth 1.0 ?
OAuth 2.0 est une reecriture complete, plus simple et flexible. Il utilise HTTPS au lieu de signatures cryptographiques complexes, supporte plus de cas d'usage (mobile, SPA, IoT) et separe clairement les roles de serveur d'autorisation et de ressources.
Dois-je implementer OAuth 2.0 moi-meme ?
Non, utilisez des bibliotheques eprouvees comme Passport.js (Node.js), Spring Security (Java), ou des services manages comme Auth0, Keycloak ou AWS Cognito. Implementer OAuth soi-meme est risque et source d'erreurs de securite.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.