Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. OAuth 2 et OpenID Connect
  3. Qu'est
Extrait - OAuth 2 et OpenID Connect Sécurisez vos applications .Net avec IdentityServer
Extraits du livre
OAuth 2 et OpenID Connect Sécurisez vos applications .Net avec IdentityServer Revenir à la page d'achat du livre

Qu'est-ce qu'un SSO ?

Single Sign-On

Un SSO (Single Sign-On) est une application qui permet de se connecter à un écosystème complet d’applications en ne s’authentifiant qu’une seule fois.

Prenons l’exemple de Microsoft : Microsoft possède une galaxie de sites et d’applications web allant du site microsoft.com à Azure en passant par Office, Xbox, etc. Dans un modèle classique, vous devez créer un compte et vous authentifier à chacun de ces services avec des identifiants distincts comme vous le feriez si vous commandiez sur des sites de vente en ligne différents.

Pour l’utilisateur, c’est fastidieux : il faut créer des comptes sur de nombreuses applications, saisir ses informations à chaque fois et se connecter à toutes ces applications. Dans le cas d’échanges de données entre applications, les choses se complexifient encore. L’utilisateur ne peut pas retrouver toutes ses factures liées à tous ses services à un seul endroit, etc. L’expérience utilisateur d’une telle solution est largement perfectible.

En ce qui concerne Microsoft, ce n’est guère mieux ; on retrouve les mêmes problématiques : facturation, centralisation des données utilisateur, etc.

La solution à ces problèmes est d’avoir un compte client unique qui permettra à l’utilisateur d’avoir un point d’entrée unique à son écosystème, ceci permettra...

Un nœud central de droits d’accès

Comme dit précédemment, le SSO délivre des authentifications. Mais il ne le fait pas que pour des utilisateurs humains. Un SSO permet également de gérer l’authentification des différentes applications entre elles.

Imaginons une application web qui permet aux clients de consulter leurs factures. Cette application devra accéder à l’API web des factures, mais en lecture uniquement. L’écriture sera réservée aux services comptables de l’entreprise. Ouvrir l’accès en écriture à un applicatif accessible au public représente une faille de sécurité potentielle que l’on souhaitera éviter.

Pour remplir cette mission, le SSO délivre des jetons d’accès (token) qui permettront ou non l’accès aux ressources exposées. Le format de token le plus répandu est le JWT (JSON Web Token) qui, comme son nom l’indique, est un jeton formalisé en JSON (JavaScript Object Notation). Il existe d’autres formats de token comme les reference token que nous aborderons dans le chapitre Protéger une API Web, section Autoriser les accès à l’API, sous-section Accès par reference token de cet ouvrage.