Le Single Sign-On (SSO), ou comment faciliter l'authentification de vos utilisateurs !

Le Single Sign-on (SSO) est un service d'authentification de session et d'utilisateur qui permet à un utilisateur d'utiliser un ensemble d'informations d'identification pour accéder à plusieurs applications. Le SSO peut être utilisé par les entreprises, les petites organisations et les particuliers pour atténuer la gestion de divers noms d'utilisateurs et mots de passe. Comment fonctionne le SSO ? Quels avantages concrets apporte-t-il et dans quel cadre l'utiliser ? Comment le mettre en place dans son organisation ?

Site web & ecommerce
Publié le 25/02/2022
Auteurs
Mathias D.
Référent technique
Mathias D.
Partager l’article

Le SSO késako ?

Concrètement, cela permet de s'identifier une fois sur un serveur SSO et ensuite d'être automatiquement connecté à plusieurs autres sites.

Comment fonctionne le Single Sign-On ?
En pratique, si vous voulez vous connecter au site A, celui-ci vous redirige vers le serveur SSO pour que vous saisissiez votre identifiant et votre mot de passe. Une fois identifié, celui-ci vous redirige vers le site A qui sait à présent qui vous êtes 🧠.
Plus tard, vous désirez vous connecter au site B, qui lui aussi utilise le même serveur SSO. Il interroge alors le serveur SSO pour savoir si vous êtes identifié et si oui, alors vous êtes  identifié sur le site B sans saisir identifiant et mot de passe. Ceci sera valable pour tous les sites qui utilisent le même serveur SSO.

 

Un exemple d'utilisation courante ? 

Je me connecte avec mon compte Google à Gmail. 

Je suis identifié par le serveur SSO "Google". Si je vais sur le site medium.com qui utilise la possibilité de se créer un compte via son compte Google, alors je suis automatiquement reconnu sur le site en question et connecté. Ceci fonctionne donc pour tous les sites proposant de se connecter via son compte Google.
 

SSO : quels sont les avantages pour l'utilisateur ?

  • Un seul identifiant pour se connecter à plusieurs services 💡
  • Les sites utilisant l'identification via un serveur SSO ne connaissent pas votre mot de passe.
  • Meilleure expérience utilisateur : il est plus facile de s'identifier sur un site
  • Gestion centralisée des utilisateurs (et gestion de leurs droits sur le serveur SSO)

Pourquoi intégrer le SSO au sein de ses services ?

Imaginons que l’on dispose d’un SI doté de plusieurs outils pour les internautes (site, extranet, forum…) et que ceux-ci ne soient pas en accès public 🔐 
Chacun des services pourrait identifier l'internaute sur un serveur SSO. Ainsi l'internaute en s'identifiant sur l'un des services serait alors identifié sur chacun d'entre eux.

Ce besoin peut également s’appliquer aux administrateurs de ces différents services, pour qu’ils puissent s'identifier via leur ID (un serveur LDAP interne de la société ayant les identifiants des employés). 
Le serveur Single Sign-On dispose de sa base "internaute" mais fait aussi le lien avec le serveur interne LDAP.


 

Allons plus loin avec le SSO

L'internaute A pourrait avoir des droits 'admin' sur le site 1 et avoir des droits "utilisateur" sur le site 2 tandis que l'internaute B aurait des droits "utilisateur" sur le site A et le site B.

Grâce au SSO, on gère sur le seul serveur SSO cette notion de droits. Chaque fois que l'internaute s'identifie sur l'un des sites, le serveur SSO lui indique quels rôles il a. Le site saura ainsi à quelles fonctionnalités l'utilisateur peut accéder.

Comment mettre en place le SSO ?

Pour mettre en place le Single Sign-On, il faut un serveur dédié. Keycloak est un serveur SSO Open Source. Il est très fonctionnel et très paramétrable.

Il permet la gestion des utilisateurs, des services et des rôles des utilisateurs pour chacun des services. Il dispose d'une API puissante permettant de gérer les utilisateurs, les services, les rôles. 

Via son API puissante, il permet de gérer les services, les utilisateurs, et les rôles de ces derniers pour chacun des services.

En bref, tout ce qui est nécessaire à une gestion centralisée des utilisateurs et de leurs droits !