Connexion CAS SSO : erreur session_name()

  • ci.lpa.st-yrieix
  • Topic Author
  • Junior Member
  • Junior Member
More
11 months 3 days ago #5054 by ci.lpa.st-yrieix
Replied by ci.lpa.st-yrieix on topic Connexion CAS SSO : erreur session_name()
L'ancienne version, c'est la 3.5.1. Comme j'obtiens la meme erreur, je suis d'accord pour trouver une solution sur la derniere version (4.0.3).

J'ai tenté la modif du fichier functions.inc.php. Quelques difficultés :
  1. il a fallut que je remette les "rustines" evoquées dans mon message précédent pour eviter les messages d'erreurs.
  2. Ensuite, il tente de charger la page " www.eplefpa-saint-yrieix.fr/compte/compte.php mais il manque le dossier "grr" dans le chemin donc il ne la trouve pas.
  3. Je decide d'ajouter 'grr/compte/compte.php' aprés Location
  4. Il tente, cette fois, de charger la page " www.eplefpa-saint-yrieix.fr/grr/grr/compte/compte.php . bizarrement il y a 2 fois le dossier grr donc il ne la trouve pas egalement.
  5. Je remodifie en mettant l'url complete " www.eplefpa-saint-yrieix.fr/grr/compte/compte.php " après Location. Cela fonctionne mais me ramene sur la page d'authentification "locale".
  6. je clique sur authentification CAS, il ne me redemande pas de saisir mon identifiant/mdp mais juste de confirmer les données qui vont etre transmises à GRR et je reviens sur la page d'authentification "locale".

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
11 months 3 days ago #5056 by Yan
Il semblerait qu'il y ait des soucis d'ouverture de session avec les versions 3.5.1 et 4.0.3 (cf site.devome.com/fr/kunena/aide-installat...ation-sous-grr-4-0-2 ) dont je ne comprends pas l'origine.
Je vous propose donc, si c'est possible, de faire les tests avec la version 3.5.0d pour éliminer les doutes côté GRR.
De ce fait, la documentation de gestion du CAS devrait être encore valable. Il y a eu des changements importants sur les 4.0.+ que je ne maîtrise pas complètement.

Please Log in or Create an account to join the conversation.

  • ci.lpa.st-yrieix
  • Topic Author
  • Junior Member
  • Junior Member
More
11 months 3 days ago #5058 by ci.lpa.st-yrieix
Replied by ci.lpa.st-yrieix on topic Connexion CAS SSO : erreur session_name()
Je viens de tester la 3.5.0d :
il a fallut egalement que je modifie session.inc.php pour eviter d'avoir les messages d'erreurs mais ensuite je tombe bien sur la page qui me demande de completer mes informations de compte. Une fois fait, je suis bien connecté sur l'application. Dans la foulée, je me suis deconnecté et reconnecté sans soucis.

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
11 months 3 days ago #5059 by Yan
Demie bonne nouvelle !
Je vous propose d'avancer sur cette piste avec la modification du fichier /include/config_CAS.inc.php.ori à renommer en /include/config_CAS.inc.php pour commencer.
Pour récupérer les informations envoyées pas le serveur CAS, selon ce que vous avez donné, je propose de modifier les lignes 52, 53 et 57 de ce fichier par :
Code:
$user_nom = recuperer_nom(phpCAS::getAttribute('givenName')); $user_prenom = recuperer_prenom(phpCAS::getAttribute('sn')); $user_mail = recuperer_mail(phpCAS::getAttribute('mail'));

Please Log in or Create an account to join the conversation.

  • ci.lpa.st-yrieix
  • Topic Author
  • Junior Member
  • Junior Member
More
11 months 3 days ago #5060 by ci.lpa.st-yrieix
Replied by ci.lpa.st-yrieix on topic Connexion CAS SSO : erreur session_name()
Nous sommes d'accord que continuons les tests sur la 3.5.0d ?
si oui, j'ai testé les modifications en inversant givenName et sn qui contiennent respectivement le prénom et le nom.
Je retombe sur la page pour compléter le nom et prénom. En faisant un var_dump des 3 variables $user elles ont toute la valeur NULL. Visiblement phpCAS n'arrive pas à les récupérer.
Je pense que les entrées d'annuaire sont bonnes mais il doit manquer une partie du chemin.

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
11 months 3 days ago #5061 by Yan
Essayons de voir ce que répond le serveur CAS. Incluons le code suivant entre les lignes 86 et 87 du fichier cas.inc.php :
Code:
echo '<h3>User Attributes</h3>'; echo'<ul>'; foreach (phpCAS::getAttributes() as $key => $value) { if (is_array($value)) { echo '<li>', $key, ':<ol>'; foreach ($value as $item) { echo '<li><strong>', $item, '</strong></li>'; } echo '</ol></li>'; } else { echo '<li>', $key, ': <strong>', $value, '</strong></li>' . PHP_EOL; } } echo'</ul>'; die();
Evidemment le "die()" va interrompre l'exécution du code et la connexion ne se fera pas, mais on aura la forme de la réponse du serveur CAS.

Please Log in or Create an account to join the conversation.

  • ci.lpa.st-yrieix
  • Topic Author
  • Junior Member
  • Junior Member
More
11 months 3 days ago - 11 months 3 days ago #5063 by ci.lpa.st-yrieix
Replied by ci.lpa.st-yrieix on topic Connexion CAS SSO : erreur session_name()
Malheureusement pas de réponse. J'ai juste une page avec "User Attributes" et la balise <ul></ul> est vide.

Pour etre sur d'avoir coller le code au bon endroit voici la fin du fichier cas.inc.php :
Code:
$login = phpCAS::getUser(); echo '<h3>User Attributes</h3>'; echo'<ul>'; foreach (phpCAS::getAttributes() as $key => $value) {     if (is_array($value)) {         echo '<li>', $key, ':<ol>';         foreach ($value as $item) {             echo '<li><strong>', $item, '</strong></li>';         }         echo '</ol></li>';     } else {         echo '<li>', $key, ': <strong>', $value, '</strong></li>' . PHP_EOL;     } } echo'</ul>'; die(); $user_ext_authentifie = 'cas'; if (file_exists("./include/config_CAS.inc.php"))     include("./include/config_CAS.inc.php"); ?>
Last edit: 11 months 3 days ago by ci.lpa.st-yrieix.

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
11 months 3 days ago #5064 by Yan
On aurait dû afficher $login avant le <h3> pour être sûr que le serveur CAS a bien répondu.
Si phpCAS::getAttributes() ne rend rien, il n'y a pas d'espoir de faire mieux que du remplissage manuel.
Dans mon lycée, avec l'ENT Kosmos, la diffusion des attributs CAS était refusée mais il était possible de faire un export csv avec les renseignements recherchés, qu'ensuite j'importais dans GRR en début d'année scolaire, ce qui évitait aux utilisateurs d'avoir à mettre à jour leur fiche manuellement.

Please Log in or Create an account to join the conversation.

  • ci.lpa.st-yrieix
  • Topic Author
  • Junior Member
  • Junior Member
More
11 months 3 days ago #5065 by ci.lpa.st-yrieix
Replied by ci.lpa.st-yrieix on topic Connexion CAS SSO : erreur session_name()
Pour info, $login renvoi mon identifiant CAS : guillaume.bordas.
Après ce n'est pas très contraignant de saisir son prénom, nom et email à la première connexion.
Par contre, est ce que cela est envisageable avec la version 4.0.3 ou par sécurité, je reste dans cette version 3.5.0d dans le cadre de l'utilisation dans mon lycée ?

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
11 months 3 days ago #5067 by Yan
Pour ce qui est de la version à utiliser... je maîtrise mieux la série 3.5.x que la 4.0.x et il y eu un changement de version de phpCAS entre les deux.
Déjà, si vous pouviez avoir le même résultat avec la v3.5.1 qu'avec la v3.5.0d, cela montrerait que le nouveau codage des mots de passe n'a pas bousculé l'authentification CAS.
Ensuite, pour choisir entre v3.5.1 et v4.0.3, il y a des fonctionnalités présentes d'un côté et pas de l'autre. On en rediscute si besoin.

Please Log in or Create an account to join the conversation.

Moderators: Yan