Aller au contenu principal

Mise en place du SSO CAS

Ce document a pour but de décrire la mise en place de la reconnaissance par BlueMind de l'authentification CAS (Central Authentication Service).

Fonctionnement de l'authentification CAS

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 CAS pour qu'il s'authentifie.
  3. Une fois authentifié, un cookie CAS 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 CAS 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.

Pour plus d'informations:

Prérequis

Avoir un serveur CAS opérationnel et accessible en https depuis le serveur BlueMind.

Installation

Aucune installation n'est nécessaire, BlueMind supporte nativement l'authentification avec un serveur CAS.

Configuration CAS 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 (voir Unités d'organisation et Administration déléguée) plutôt que le superutilisateur admin0.

  2. Sélectionner le mode d'authentification CAS dans le menu déroulant et renseigner l'URL du serveur CAS :

  3. Cliquer sur "Enregistrer" pour sauvegarder les modifications.

Dès lors, les utilisateurs seront automatiquement redirigés vers le serveur CAS lors de l'accès à la page d'authentification.

Configuration CAS 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.

Depuis la Gestion des domaines :

  1. Configurer un premier domaine en suivant la méthode ci-dessus, il sera alors considéré comme domaine primaire.

  2. Renseigner une url externe pour le domaine primaire (voir Les URLs externes).

    La configuration de l'url externe est obligatoire pour le bon fonctionnement de l'authentification avec tous les domaines.
  3. Noter l'identifiant du ou des domaines secondaires (UID de domaine ou Domain UID) depuis la liste des domaines ou leur fiche de gestion.

  4. Se rendre dans la fiche de gestion du domaine primaire > onglet Sécurité : sous le formulaire de configuration CAS apparaît désormais un lien "Ajouter" :

    → cliquer pour ajouter autant de domaines secondaires que désiré.

  5. Dans les champs ajoutés, renseigner les UID des domaines à lier :

  6. Cliquer sur "Enregistrer" pour valider la prise en compte.

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

Erreurs connues

Erreur 500 : Internal Server Error

Ce message d'erreur peut avoir plusieurs raisons. Pour investiguer sur la cause et savoir la résoudre, consulter les logs du webserver. Pour plus d'informations sur les logs, consulter la page Logs - Fichiers journaux.

Utilisation d'un certificat autosigné ou d'une autorité de certification inconnue

Symptômes : Si un certificat autosigné est utilisé pour le serveur CAS, ou que l'autorité de certification du serveur CAS n'est pas répertoriée, une erreur de sécurité lors de l'établissement de la connexion https vers le serveur CAS survient.

Solution : Pour résoudre cette erreur, importer le certificat autosigné ou l'autorité de certification racine dans le keystore de la jvm qu'utilise BlueMind.

keytool -import -trustcacerts -alias cas -file cert_racine.crt -keystore /usr/lib/jvm/bm-jdk/lib/security/cacerts
Enter keystore password: changeit

Pour plus d'informations, voir http://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html