OAuth est une norme ouverte de délégation d'accès, couramment utilisée pour accorder aux sites Web ou aux applications l'accès aux informations d'autres sites Web, mais sans leur donner les mots de passe.
Cela est réalisé grâce à un processus dans lequel les utilisateurs accordent à des tiers l’accès à des types spécifiques d’informations stockées sur un autre service, généralement en les autorisant via un mécanisme basé sur des jetons.
OAuth est largement utilisé dans diverses applications pour rationaliser authentification de l'utilisateur et les processus d'autorisation. Par exemple, lorsqu'un utilisateur se connecte à un site web avec son compte Google ou Facebook, OAuth entre en jeu. Il permet aux utilisateurs de partager des données spécifiques avec des sites web ou des applications tiers sans divulguer l'intégralité de leurs informations de compte. Ceci est particulièrement utile pour les services nécessitant l'accès à certaines données utilisateur depuis un autre service, comme l'accès à vos contacts ou à votre calendrier depuis un réseau social. OAuth est également utilisé dans le développement d'applications mobiles, les services cloud et les appareils IoT où un accès sécurisé aux ressources hébergées par un tiers est nécessaire. Il simplifie le processus de connexion pour les utilisateurs et renforce la sécurité en minimisant la propagation des identifiants de connexion par mot de passe.
Quant à sa relation avec SAML (langage de balisage d'assertion de sécurité) et OpenID:OAuth, SAML et OpenID sont tous des standards d’authentification et d’autorisation, mais ils servent à des fins différentes.
SAML est principalement utilisé pour les services d'authentification unique (SSO) permettant aux utilisateurs de se connecter une seule fois et d'accéder à plusieurs systèmes sans réauthentification. Il est largement utilisé dans les environnements d'entreprise où plusieurs applications internes nécessitent un contrôle d'accès sécurisé.
D'autre part, OpenID est une couche d'authentification au-dessus d'OAuth, fournissant aux utilisateurs vérification d'identitéAlors qu'OAuth se concentre sur l'octroi d'accès aux ressources sans partager les informations d'identification de l'utilisateur, OpenID permet l'authentification de l'utilisateur et fournit des informations de profil de base au fournisseur de services.
OpenID Connect, une extension d'OAuth, combine le meilleur d'OAuth et d'OpenID, permettant une autorisation API sécurisée ainsi qu'une authentification des utilisateurs.