Aller au contenu principal

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 :

  1. L'utilisateur cherche à se connecter à BlueMind, qu'il ouvre dans son navigateur.
  2. Comme il n'a pas encore été authentifié, le serveur BlueMind le redirige vers le serveur OpenID pour qu'il s'authentifie.
  3. Une fois authentifié, un cookie openID est posé dans le navigateur de l'utilisateur, qui est redirigé vers BlueMind avec un ticket à valider.
  4. Le serveur BlueMind :
    1. voit ce ticket,
    2. demande au serveur openID s'il est valide,
    3. si c'est bien le cas, autorise la connection et pose un cookie BlueMind dans le navigateur.

Lors d'une prochaine authentification :

  1. Le client demande à nouveau l'accès au serveur BlueMind
  2. Comme il possède le cookie BlueMind, il est automatiquement authentifié tant que ce cookie est valide.

Configuration OpenID pour un domaine seul ou primaire

  1. 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.

  2. 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
  3. 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.

Configuration OpenID en environnement mutualisé

L'utilisation d'un même serveur d'authentification avec plusieurs domaines se fait grâce à la configuration d'un serveur sur un domaine primaire auquel sont rattachés les autres domaines.

  1. Depuis la Gestion des domaines :
    1. configurer un premier domaine suivant la méthode ci-dessus, il sera alors considéré comme le domaine primaire.
    2. noter l'identifiant (UID de domaine ou Domain UID) du ou des domaines secondaires.
  2. Se rendre dans la fiche de gestion du domaine primaire > onglet Sécurité. Sous le formulaire de configuration OpenID apparaît désormais un lien "Ajouter" :

    → cliquer pour ajouter autant de domaines secondaires que désiré.
  3. Dans les champs ajoutés, renseigner les UID des domaines à lier :
  4. Cliquer sur "Enregistrer" pour valider la prise en compte.
  5. Dans la fiche de gestion des domaines secondaires, onglet Sécurité, le formulaire est désormais remplacé par une information contenant l'UID du domaine primaire :

Pour aller plus loin

Consultez la documentation BlueMind en relation