Alors, je pense avoir trouvé.
J'ai essayé avec la version 1.2.1 de CAS : sans succès. Même en changeant la "Version du logiciel CAS" en le passant à 3.4.6 ou à 3 (là j'ai eu l'erreur phpCAS error: phpCAS::client(): this version of CAS (`3') is not supported by phpCAS 1.2.1) **.
J'en ai donc conclu que le problème ne venait pas de phpcas (à moins d'un bug dans les 2 versions). J'ai donc simplement regardé le fichier de moodle auth/cas/auth.php qui, je suppose, fait l'interface entre moodle et phpcas. Et en effet, à la ligne 170 on voit appaitre le code suivant :
if ($this->config->logoutcas ) {
$backurl = $CFG->wwwroot;
$this->connectCAS();
phpCAS::logoutWithUrl($backurl);
}
On voit à la ligne 173 un appel à la fonction phpCAS::logoutWithUrl(), qui est donc obselète avec les serveurs dont la version est supérieur à 3.3.5 comme indiqué dans le lien que j'ai donné (je le redonne ici sans le ')' qui a cassé mon lien ! => https://wiki.jasig.org/display/CASC/phpCAS+logout )
A mon humble avis, il faut remplacer la ligne 173 par :
phpCAS::logoutWithRedirectService($backurl);
L'essai de mon coté est concluant en tout cas.
J'aimerais le soumettre comme bug mais vu que c'est ma première fois , je voudrais que l'on me confirme
- qu'il s'agisse bien d'un bug
- que la correction proposée est correcte
Si j'ai bien suivi, le tracker est ici : http://tracker.moodle.org. J'ai cherché "logout" mais je n'ai rien trouvé qui relate ce bug dans les bugs ouverts ou acceptés.
Merci de vos avis sur la question :
Mes 2 autres réflexions sont toujours ouvertes à discussion !
2/ De manière plus générale, Moodle (1 ou 2 d'ailleurs) ne revérifie pas la session auprès du CAS à chaque page. Est-ce normal ? (plus de détails dans mon message précédent)
3/ Enfin, dernière réflexion : Moodle propose de se déconnecter du CAS lorsque l'on clique sur Déconnexion. Mais faut-il le faire ? (plus de détails dans mon message précédent)
Pascal
** Ne faudrait-il pas d'ailleurs changer le texte "Version du logiciel CAS" par "Version du protocol CAS" ? Car avec "Version du logiciel CAS" on ne sait pas trop de quoi il s'agit... Je dis ça sans savoir s'il s'agit en effet de la version du protocol dont il s'agit, mais je l'ai lu là : http://tracker.moodle.org/browse/MDL-16646