Permet à une app d'obtenir une autorisation pour consommer une API pour le compte d'un user
N'est PAS un protocole d'authentification
Est un protocole de délégation d'autorisation
Fonctionnement:
Le Resource Owner (utilisateur) est capable d’accorder l’accès à la ressource pour une App Client.
L’Authorization Server occupe le rôle central au sein du protocole, il est chargé d’authentifier le Resource Owner et de délivrer son autorisation sous la forme d’un jeton appelé access token.
Le Resource Server quant à lui correspond au serveur où sont stockées les ressources protégées
Autorise les clients (App Client) à vérifier l'identité d'un utilisateur final (Resource Owner) en se basant sur l'authentification fournie par un Authorization Server.
Permet à un service d'échanger un type de jeton contre un autre
Souvent utilisé dans les flux OAuth 2.0
Utilisé pour obtenir des informations supplémentaires, ex:
Obtenir des jetons avec des droits différents
Convertir un jeton d'authentification en un jeton d'autorisation
Séquence de fonctionnement:
1) Authentification initiale : L'utilisateur se connecte, s'authentifie et reçoit un jeton d'authentification.
2) Demande d'accès à des ressources : L'utilisateur utilise son jeton d'authentification pour demander un accès à des ressources protégées (des APIs, URLs etc)
3) Échange de jeton : Le service d'authentification valide le jeton d'authentification et émet un jeton d'autorisation pour les ressources demandées
4) Utilisation du jeton d'autorisation : L'utilisateur présente le jeton d'autorisation pour accéder aux ressources protégées.
Définit un protocole pour échanger des infos liées à la sécurité
Propose une auth unique = SSO:
un utilisateur peut naviguer sur plusieurs sites différents en ne s'authentifiant qu'une seule fois
sans pour autant que ces sites aient accès à des informations trop confidentielles
Fonctionnement:
Un utilisateur utilise un user agent (généralement un navigateur Web) pour demander une ressource Web protégée par un SAML service provider.
Le service, souhaitant connaître l'identité de l'utilisateur, envoie une demande d'authentification au SAML identity provider par l'intermédiaire de l'agent d'utilisateur.
Request la ressource cible dans le Service Provider
Redirect vers le Service SSO dans le Identity Provider
Request le Service SSO dans le Identity Provider
Réponse avec un formulaire XHTML
Request le Assertion Consumer Service dans le Service Provider
Redirect vers la ressource cible
Request la ressource cible dans le Service Provider encore une fois