Utiliser un serveur CAS (SSO)

Remarque : la traduction de cette page n'est pas terminée. N'hésitez pas à traduire tout ou partie de cette page ou à la compléter. Vous pouvez aussi utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.


Le Service central d'authentification (CAS) est un protocole de connexion unique pour le Web.

CAS est très bénéfique dans des environnements où un certain nombre d'applications Web différentes partagent un ensemble d'utilisateurs communs. Si toutes les applications Web étaient "CASified", un utilisateur se connectait une seule fois et pouvait alors passer d'une application Web à l'autre sans avoir à présenter à nouveau ses informations d'authentification. CAS est similaire au mécanisme d'authentification Shibboleth, mais il est beaucoup plus simple à mettre en place et manque d'un certain nombre de fonctionnalités plus larges comme la confiance fédérée et l'infrastructure d'autorisation.

CAS fonctionne essentiellement en configurant un site Moodle pour ne pas faire l'authentification elle-même, mais pour rediriger les utilisateurs non authentifiés vers un serveur CAS qui retournera ensuite un jeton d'authentification au site Moodle. Moodle peut extraire le nom d'utilisateur du jeton et ensuite utiliser ses mécanismes d'autorisation internes (rôles, inscriptions, capacités) et ses attributs utilisateur (nom, image, etc.). L'avantage est que le site Moodle n'a jamais à gérer les mots de passe et que les utilisateurs, une fois qu'ils se sont authentifiés la première fois, peuvent passer sans problème à une autre application Web sans avoir à présenter à nouveau leurs identifiants.

Activation de l'authentification du serveur CAS

Un administrateur peut activer l'authentification du serveur CAS comme suit :

  1. Allez dans Administration du site > Plugins > Authentification > Gestion de l'authentification et cliquez sur l'icône en regard du serveur CAS (SSO). Lorsqu'elle est activée, elle n'est plus grisée.
  2. Cliquez sur le lien Paramètres, configurez si nécessaire, puis cliquez sur le bouton "Enregistrer les modifications".

Une mise en garde pour ceux qui convertissent à partir de LDAP ou d'autres mécanismes d'authentification :

Pour tout utilisateur que vous souhaitez authentifier avec CAS mais qui a déjà utilisé Moodle, et qui a donc une entrée dans la base de données Moodle, vous devrez changer la valeur du champ "auth" de l'utilisateur dans la table mdl_user. Donc, s'ils utilisaient LDAP avant, mais maintenant vous souhaitez qu'ils utilisent CAS et que leur nom d'utilisateur est "foobar", vous devrez éditer la base de données avec quelque chose comme SQL :
UPDATE mdl_user SET auth='cas' où auth='ldap' et username='foobar';
Sans ce changement, l'utilisateur se verra constamment présenter un message d'échec de connexion, mais sinon aucune indication sur la raison pour laquelle la connexion a échoué bien que ses identifiants aient été acceptés par le serveur CAS.

Activation de la synchronisation des comptes CAS

Le travail de synchronisation des utilisateurs CAS (\auth_cas\task\sync_task) Tâches planifiées. (nouveau dans Moodle 3.0 ; auparavant, il y avait un script CLI) est responsable de la création et de la mise à jour des informations utilisateur, ainsi que de la suspension et de la suppression des comptes CAS.

Après avoir activé l'authentification du serveur CAS, un administrateur doit activer et configurer la tâche de synchronisation des utilisateurs CAS comme suit :

  1. Allez dans Administration du site > Serveur > Tâches planifiées et cliquez sur l'icône d'engrenage en face du travail de synchronisation des utilisateurs CAS.
  2. Sélectionnez la fréquence d'exécution souhaitée et activez la tâche en décochant la case à cocher désactivée.
Avertissement ! Il est important de s'assurer que tous les paramètres CAS fonctionnent correctement avant d'activer le travail de synchronisation des utilisateurs CAS (ainsi que de sauvegarder votre base de données et vos dossiers de données d'humeur), car une mauvaise configuration CAS peut entraîner une suppression erronée des utilisateurs!


D'autres questions ?

N'hésitez pas à poster sur le forum d'authentification sur moodle.org