====== 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]]