Utiliser un serveur CAS (SSO)

De MoodleDocs
Aller à :navigation, rechercher

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

CAS est très utile dans des environnements où un certain nombre d'applications Web différentes partagent un ensemble d'utilisateurs communs. Si toutes les applications Web étaient "CASifiées", un utilisateur se connecterait une seule fois et pourrait ensuite passer d'une application Web à l'autre sans avoir à s'authentifier à nouveau. CAS est similaire au mécanisme d'authentification Shibboleth en étant plus simple à mettre en place. Cependant, il ne dispose pas d'autant de fonctionnalités que ce dernier comme l'approbation de fédération et l'infrastructure d'autorisation.

CAS fonctionne en configurant un site Moodle pour qu'il ne fasse pas l'authentification lui-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 des utilisateurs. Une fois qu'ils se sont authentifiés la première fois, ils peuvent passer sans problème du site Moodle à 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 de l’œil à côté de 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".

Un avertissement pour ceux qui passent d'une authentification LDAP ou un 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. Ainsi, s'ils utilisaient une authentification LDAP auparavant et que maintenant vous souhaitez qu'ils utilisent une authentification CAS, en prenant en exemple un utilisateur dont le nom d'utilisateur est "foobar", vous devrez modifier la base de données avec une requête SQL du type : UPDATE mdl_user SET auth='cas' où auth='ldap' et username='foobar'; Sans cette modification, l'utilisateur se verra constamment présenter un message d'échec de connexion, même si ses identifiants ont été acceptés par le serveur CAS.

Activation de la synchronisation des comptes CAS

La tâche planifiée de synchronisation des utilisateurs CAS (\auth_cas\task\sync_task) Tâches planifiées. (introduite 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 planifiée des utilisateurs CAS comme suit :

  1. Allez dans Administration du site > Serveur > Tâches planifiées et cliquez sur l'icône d'engrenage à côté de la tâche planifiée 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 désactivée.


Avertissement ! Il est important de s'assurer que tous les paramètres CAS fonctionnent correctement avant d'activer la tâche planifiée de synchronisation des utilisateurs CAS (ainsi que de sauvegarder votre base de données et votre dossier moodledata), car une mauvaise configuration CAS peut entraîner la suppression des utilisateurs !


D'autres questions ?

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