====== CASsification d'un site web avec phpCas ======
{{INLINETOC}}
\\
===== Principe ======
Le principe est relativement simple, par exemple lorsque l'utilisateur cliques sur le lien de l'espace membre, au lieu de lui demander ces identifiants, à l'aide de phpCas on le redirige vers le CAS.
L'utilisateur s'identifie sur le CAS, le CAS le ramène sur le //service// (espace membre par exemple) avec un //Service Ticket// (ST). Puis le //service// valide se ST auprès du CAS qui va alors retourner l'identifiant de l'utilisateur.
Rassurez-vous tout ce fait en quelques lignes de code grâce a phpCas, mais il est important de connaitre le processus, c'est pourquoi nous allons détailler ce processus.
Toutes les parties (CAS et espace membre par exemple) doivent être sécurisés en **https**
===== étape 1 : obtention du Service Ticket (ST) =====
Le service redirige l'utilisateur vers le CAS :
Location: https://cas.mdl29.net/login?service=https://inscriptions.mdl29.net/membres
L'utilisateur est déjà connecté au CAS ou se connecte, il est alors redirigé vers le //service// ici la webmail avec un //Service-Ticket// (ST) :
Location: https://mail.mdl29.net/?ticket=ST-956-Lyg0BdLkgdrBO9W17bXS
\\
===== étape 2 : Vérification du Service Ticket =====
Le service vérifie la validité du ST :
https://cas.mdl29.net/serviceValidate?ticket=ST-956-Lyg0BdLkgdrBO9W17bXS&service=http://inscriptions.mdl29.net/membres
Réponse
benvii
Nous avons du bien vérifié au près du CAS que l'utilisateur //Benvii// est bien identifié.
===== En php ça donne quoi ? =====
Ce tutoriel ne vise pas à montrer en détaille toutes les fonctionnalités de la librairie phpCas pour plus d'exemple rendez-vous [[https://wiki.jasig.org/display/CASC/phpCAS|ici]].
Je vous invite à télécharger la librairies phpCas : http://downloads.jasig.org/cas-clients/php/current/
Vous allez voir c'est relativement simple, quelques lignes de code suffisent. Prenons par exemple la page de connexion de l'espace membre de libr@net (modifié pour les besoins de cette doc) :
====Le code en détail ====
=== phpCAS::client ===
Le serveur CAS lorsqu'il est installé est généralement disponible à une adresse du genre : https://cas.mdl29.net/cas/
Dans ce cas il faudra préciser ceci :
phpCAS::client(CAS_VERSION_2_0,'cas.mdl29.net',443,'/cas/');
Veillez aussi à adapter le port, peut-être que votre CAS est sur le port 8443 en non le 443 ?
Pour plus d'informations, ce reporter à [[https://wiki.jasig.org/display/CASC/phpCAS|la documentation fournie par phpCas]], merci de compléter cette page si vous souhaitez détailler plus cette partie
\\ \\ \\
\\ \\
\\
----
Rédigé par Benjamin Bernard \\
Sources : [[https://wiki.jasig.org/display/CAS/Proxy+CAS+Walkthrough|Proxy CAS Walkthrough - Central Authentication Service - Jasig Wiki]] -
[[https://wiki.jasig.org/display/CASC/phpCAS|phpCAS - CAS Clients - Jasig Wiki]]