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:

Installation

Pour mettre en œuvre l'authentification CAS, installer le paquet nécessaire :

aptitude install bm-plugin-hps-cas

Puis redémarrer BlueMind :

bmctl restart

Configuration

  1. Connecté en tant qu'admin0, se rendre dans Gestion du système > Configuration système > onglet Authentification.
  2. Sélectionner le mode d'authentification CAS dans le menu déroulant et renseigner les champs associés :
    • URL du serveur CAS
    • Domaine BlueMind par défaut
  3. Cliquer sur "Enregistrer" pour sauvegarder les modifications.
  4. Redémarrer le service bm-hps.

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

Erreurs connues

Erreur 403 : Your user account does not exist in this BlueMind.

Cause : Ce message d'erreur signifie que le login avec lequel l'utilisateur s'est authentifié sur le CAS n'existe pas pour ce domaine. Cela peut arriver lorsque l'utilisateur n'a pas encore été créé dans BlueMind ou de façon volontaire car on ne souhaite pas que cet utilisateur y ait accès.

Solutions : Deux solutions permettent sont possibles :

  1. Créer dans BlueMind, dans le bon domaine, l'utilisateur associé au login CAS.
  2. Ignorer l'erreur si le refus d'accès est volontaire.

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 de HPS en utilisant par exemple la commande suivante :

cat /var/log/bm-hps/hps.log | grep CAS

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