Mise en place du SSO avec un serveur d'authentification OpenID externe
Ce document a pour but de décrire le fonctionnement et la configuration de BlueMind avec un serveur d'authentification OpenID externe.
Prérequis
- Avoir un serveur OpenID opérationnel
- Avoir autorisé le client d'authentification BlueMind auprès du serveur OpenID.
Suite à la configuration, noter les informations suivantes qui serviront pour la configuration de BlueMind :
- URL du server OpenID tiers
- Identifiant du client OpenId (parfois nommé Application ID)
- Secret du client OpenId
Fonctionnement de l'authentification OpenID
Pour une authentification initiale :
- L'utilisateur cherche à se connecter à BlueMind, qu'il ouvre dans son navigateur.
- Comme il n'a pas encore été authentifié, le serveur BlueMind le redirige vers le serveur OpenID pour qu'il s'authentifie.
- Une fois authentifié, un cookie openID est posé dans le navigateur de l'utilisateur, qui est redirigé vers BlueMind avec un ticket à valider.
- Le serveur BlueMind :
- voit ce ticket,
- demande au serveur openID s'il est valide,
- si c'est bien le cas, autorise la connection et pose un cookie BlueMind dans le navigateur.
Lors d'une prochaine authentification :
- Le client demande à nouveau l'accès au serveur BlueMind
- Comme il possède le cookie BlueMind, il est automatiquement authentifié tant que ce cookie est valide.
Configuration
-
Dans la console d'administration, se rendre dans Gestion du système > Domaines supervisés > choisir le domaine > onglet Sécurité.
ℹ️ Compte administrateur
La procédure concerne la configuration du domaine, il est donc possible et préférable d'utiliser un compte administrateur de domaine plutôt que le superutilisateur admin0. -
Sélectionner le mode d'authentification OpenID dans le menu déroulant et renseigner les champs associés :
- URL du server OpenID tiers : indiquer l'URL du serveur OpenID permettant de récupérer la liste des endpoints.
Par exemple, sur Keycloak, c'est une URL de la forme :https://{openid-server}/realms/{realm}/.well-known/openid-configuration
Remplacer:{openid-server}
par le nom d'hôte du serveur OpenID{realm}
par le realm configuré sur le serveur
- Identifiant du client OpenId
- Secret du client OpenId
- URL du server OpenID tiers : indiquer l'URL du serveur OpenID permettant de récupérer la liste des endpoints.
-
Cliquer sur "Enregistrer" pour sauvegarder les modifications.
Dès lors, les utilisateurs seront automatiquement redirigés vers le serveur OpenID lors de l'accès à la page d'authentification.