SOLUTIONS D’IDENTITÉ D’UTILISATEUR
Image
motif hexagonal violet

Que sont les jetons OAuth ?

Les jetons OAuth autorisent l’accès d’un utilisateur aux ressources. En d’autres termes, ils n’authentifient pas les utilisateurs, mais sont utilisés par le fournisseur de services pour autoriser l’accès à d’autres ressources au nom de l’utilisateur.

Une transaction OAuth se produit lorsqu’un utilisateur demande l’autorisation à une autre ressource en utilisant son identité de fournisseur de services. La ressource demande l’autorisation au fournisseur de services, qui la lui donne sous la forme d’un jeton de demande et d’un secret. Ensuite, la ressource redirige l’utilisateur vers son fournisseur de services pour authentifier la demande. À ce stade, la ressource échange le jeton de demande contre un jeton d’accès et un code secret. Si les deux jetons partagent le même code secret, le processus OAuth est terminé et l’utilisateur a délégué avec succès l’accès à la ressource au fournisseur de services.

Le processus OAuth

Étape 1

Demande d’accès

Anne fait une demande sur YouTube (ressource) pour publier des vidéos directement sur son fil Twitter (fournisseur de services). YouTube demande alors à Twitter l’autorisation d’accéder.

graphique d’une femme assise à un bureau

Étape 2

Jeton de demande et échange de codes secrets

Twitter fournit à YouTube un jeton de demande et un code secret.

graphique d’une clé et de navigateurs Web

Étape 3

Authentification

YouTube redirige Anne vers Twitter pour se connecter. Anne fournit à Twitter ses identifiants de connexion et authentifie que la demande de YouTube a été initiée par l’utilisateur.

Graphique d’une personne utilisant un ordinateur portable

Étape 4

Échange de jetons d’accès

Une fois la demande authentifiée par l’utilisateur, YouTube demande à Twitter d’échanger le jeton de demande et le code secret contre un jeton d’accès. Si les codes secrets associés aux jetons correspondent, Twitter fournit le jeton d’accès à YouTube et lui accorde l’accès.

graphique d’une clé et de navigateurs Web

Étape 5

Accès accordé

Anne peut désormais utiliser YouTube en toute sécurité pour publier des vidéos directement sur son fil Twitter.

graphique d’une femme assise à un bureau

L’exemple ci-dessus résume un processus OAuth général. OAuth permet également un contrôle et des autorisations plus granulaires, comme le droit de révoquer les jetons quand l’utilisateur le souhaite et de définir différents niveaux d’accès aux fournisseurs de services pour différentes ressources.

OAuth 1.0 par rapport à OAuth 2.0

En 2012, OAuth 2.0 a été introduit comme une révision majeure d’OAuth 1.0. Les modifications apportées à cette version d’OAuth étaient suffisamment importantes pour que les versions 2.0 et 1.0 ne soient pas compatibles. OAuth 2.0 a été conçu pour corriger une faille de sécurité de fixation de session dans le flux d’autorisation OAuth.

Bien que ce problème ait été résolu avec OAuth 2.0, la nouvelle version ne définit ni ne prend en charge intentionnellement le cryptage, la signature, la vérification du client ou la liaison de canal, mais exige au contraire que les exécutants utilisent pour cela un autre protocole de sécurité tel que HTTPS/TLS.

Les différences entre OAuth 1.0 et 2.0 sont résumées ci-dessous :

Tableau OAuth 1.0 versus OAuth 2.0

OAuth par rapport à SAML - quelle est la différence ?

SAML est un langage à variantes XML qui décrit un cadre permettant à un périphérique d’effectuer à la fois l’authentification et l’autorisation pour le compte d’un ou plusieurs périphériques.

Avec l’apparition d’options légères pour l’encodage des données, telles que JSON, OAuth a été adopté pour prendre en charge les utilisateurs de périphériques mobiles. Bien qu’OAuth soit un protocole plus récent qui a évolué à partir d’un besoin de remplacement du protocole SAML, les deux sont essentiels pour une authentification unique (SSO) sécurisée.

En d’autres termes, OAuth n’est pas une alternative à SAML, mais les deux protocoles peuvent se compléter. Par exemple, dans un environnement SSO, SAML peut être responsable de l’authentification (confirmant que l’utilisateur est authentique et doit être autorisé à accéder) et OAuth sera responsable de l’autorisation (accordant l’accès à des ressources protégées spécifiques).