Aller au contenu principal

Configurer un client OpenID pour BlueMind avec un Keycloak tiers

Présentation

L'OpenID Connect (OIDC) est une couche d'identité construite sur le protocole OAuth 2.0 et permet à un utilisateur de s'authentifier auprès d'un serveur d'autorisation, comme Keycloak, via un processus sécurisé et standard.

Là où l'OIDC simplifie le processus de gestion des identités, Keycloak est une solution d'authentification.

Dans Keycloak, un "client" représente une application qui interagit avec Keycloak pour l'authentification ou l'accès à des ressources protégées de manière sécurisée et permet de gérer les sessions utilisateurs.

Dès la version 5, BlueMind embarque OpenID Connect qui permet d'intégrer facilement des services d'authentification sécurisés via des clients OpenID. Ainsi, son utilisation dans Keycloak est essentielle pour implémenter une solution d'authentification standardisée, sécurisée et interopérable dans les environnements d'entreprise.

remarque

Cette opération devra être appliquée pour chaque domaine de BlueMind qui nécessitera une authentification auprès du Keycloak tiers.

Prérequis

Une URL externe doit être définie pour le domaine supervisé.

Procédure de configuration

Nommage

Dans ce guide, nous utiliserons les noms suivants pour exemples :

  • le domaine : domain.tld
  • l'url du serveur BlueMind : mail.domain.tld
  1. Créer un nouveau royaume (realm) dans Keycloak : ouvrir la liste déroulante en haut à gauche et cliquer sur "Create realm" :

    💡 Pour une meilleure visibilité dans Keycloak, il est préférable de donner au royaume le nom du domaine BlueMind :

  2. Créer le client openID : sélectionner le royaume créé et cliquer sur "Create" (« Créer ») en haut de l'onglet "Clients list" (« Liste des clients ») :
  3. Configurer le client openID de Keycloak puis cliquer sur "Next" (« Suivant ») pour continuer :
    • Client type : choisir le type "OpenID Connect"
    • Client ID : De même que ci-dessus, pour une meilleure visibilité, il est conseillé de choisir pour identifiant le nom du domaine BlueMind
    • Name :
    • Description :
    • Always display in UI : activer le sélecteur pour afficher le client dans la mire d'authentification Keycloak
  4. Paramétrer les capacités ("Capabilty config") puis cliquer sur "Next" (« Suivant ») pour continuer :
    • Client Authentication : activer le sélecteur afin de permettre les authentifications - le client (ici le serveur BlueMind) devra fournir une clé secrète pour prouver son identité lors de la communication
    • Direct access grant : décocher cette case afin d'interdire les accès directs
  5. Paramétrer les connexions ("Login settings") : renseigner l'URL externe du domaine BlueMind dans tous les champs d'URL puis cliquer sur "Next" (« Suivant ») pour continuer :

Récupération des informations de l'adaptateur keycloak

L'activation du type d'authentification "OpenID" dans BlueMind nécessite 3 éléments de configuration du client à noter.

  1. L'URL du serveur OpenID tiers : se rendre dans "Realm settings" et cliquer sur "OpenID Endpoint Configuration" :
    L'URL est formatée comme suit :
  2. Identifiant du client OpenId et Secret du client OpenId : se rendre dans Manage > Clients > domain.tld , aller dans le menu Action en haut à droite de la page et cliquer sur "Download adpater config". Une popup s'ouvre contenant la configuration dans laquelle on retrouve les éléments souhaités :
    • resource : Identifiant du client OpenID
    • secret : Secret du client OpenID

Connecter une source de gestion des utilisateurs externe

La partie "User Federation" permet de connecter et d'intégrer des sources externes de gestion d'utilisateurs, comme un serveur LDAP ou une base de données, avec Keycloak. Cela permet à Keycloak de fédérer des utilisateurs provenant de systèmes existants, sans avoir à les recréer dans Keycloak :

Dans le contexte BlueMind, le keycloak tiers peut utiliser LDAP comme source principale pour la gestion des informations des utilisateurs.

Dans ce contexte, il est recommandé que tous les comptes BlueMind soient des comptes importés d'un annuaire de type LDAP.

Pour aller plus loin

Pour configurer BlueMind, consulter la documentation dédiée : Mise en place du SSO avec un serveur d'authentification OpenID externe