Le plugin « cicas » permet d’utiliser un serveur SSO (Single Sign-On), basé sur CAS (Central Authentication Service), pour s’authentifier dans SPIP 2.0.
Pourquoi un plugin supplémentaire sur ce sujet ?
Il existe déjà un plugin « Une authentification SSO » qui permet d’utiliser le serveur SSO (Single Sign-On) CAS, pour authentifier les accès à l’espace public de SPIP. Toutefois, il ne correspond pas à certains besoins spécifiques auxquels le présent plugin doit répondre.
Rappel sur le Single Sign-On avec CAS
Une présentation sur le Single Sign-On avec CAS a été rédigée, par les auteurs du client PHP pour CAS (phpCAS), et est consultable à l’adresse suivante :
http://perso.univ-rennes1.fr/pascal.aubry/presentations/cas-jres2003/cas-jres2003-article.php
Les objectifs de ce plugin
L’objectif est d’utiliser le login et le mot de passe stocké dans le serveur d’authentification au lieu de ceux qui sont stockés dans SPIP. Cela évite à l’utilisateur de gérer ses mots de passe dans plusieurs sites (ou applications) et cela lui évite de s’authentifier à nouveau lorsqu’il passe d’un site à un autre.
Les fonctionnalités de ce plugin
On peut paramétrer ce plugin pour offrir une authentification CAS ou bien une authentification hybride (SPIP ou CAS). Dans ce dernier cas, chaque fois qu’il souhaitera s’authentifier, l’utilisateur pourra choisir soit de s’authentifier comme d’habitude avec SPIP, soit de cliquer sur le lien « Utiliser l’authentification centralisée » pour s’authentifier avec CAS.
Par paramétrage on peut choisir de comparer l’identifiant renvoyé par le serveur CAS au contenu du champ de SPIP contenant l’adresse électronique des auteurs, ou bien à celui contenant le login des auteurs.
Si plusieurs auteurs ont, dans SPIP, la même adresse de messagerie, il est nécessaire de savoir lequel retenir. Aussi, parmi les auteurs disposant de la même adresse de messagerie, celui qui a le plus de droits dans SPIP sera retenu. Si deux auteurs ont les mêmes droits, le premier par ordre alphabétique de nom d’auteur dans SPIP, sera retenu. Les auteurs dont le statut est « à la poubelle » ne seront jamais pris en compte.
L’authentification sur le site public redirige ensuite vers la page en cours, idem lors de la déconnexion.
Un paramétrage par fichier est possible. Il est prioritaire sur le paramétrage du plugin dans l’espace privé. Cela facilite le déploiement sur un grand nombre de sites.
Si un site est publié simultanément sur deux réseaux (par exemple intranet et internet) et que l’on veut pouvoir s’authentifier sur le site dans les deux cas, il peut être souhaitable que le serveur CAS soit accessible sur intranet et sur internet. Aussi, il convient de déterminer la provenance de l’auteur (intranet, internet, …) et d’aiguiller automatiquement sur l’adresse corrélative du serveur CAS (intranet, internet, …). Cette possibilité est offerte uniquement via le paramétrage par fichier.
Compatibilité
Le plugin est compatible avec SPIP 2.0.10 et avec PHP 5. Il surcharge une seule fonction (« logout »).
Installation
Le plugin « cicas » s’installe comme tous les plugins, cf. http://www.spip.net/fr_article3396.html
Il contient le client phpCAS, ce qui évite de devoir installer ce dernier.
Paramétrage
Le paramétrage s’effectue dans le menu [Configuration] de SPIP, sous menu [Configurer CAS] :


Il est impératif sélectionner en premier le mode d’authentification intitulé "CAS ou SPIP" afin de vérifier, sans risque, le bon fonctionnement de l’authentification CAS.
Il convient de renseigner l’adresse du serveur CAS (sans la faire précéder de http://), le répertoire éventuel du serveur CAS (par exemple : /cas) et le port du serveur CAS (en général : 443).
Si l’identifiant renvoyé par le serveur CAS est l’adresse électronique de l’auteur, il est nécessaire de s’assurer que, dans SPIP, l’adresse de messagerie électronique de chaque auteur est bien renseignée.
Utilisation de l’authentification CAS
Au lieu d’accéder au formulaire d’authentification de SPIP, l’utilisateur est redirigé vers le formulaire d’authentification du serveur CAS.
Utilisation de l’authentification Hybride
Le plugin ajoute un lien « Utiliser l’authentification centralisée » dans le formulaire d’authentification de SPIP.

Chaque fois qu’il souhaitera s’authentifier, l’utilisateur pourra choisir soit de s’authentifier comme d’habitude avec SPIP, soit de cliquer sur le lien « Utiliser l’authentification centralisée » pour s’authentifier avec l’authentification centralisée.
Version 1.1 du plugin
La version 1.1 du plugin apporte :
- La compatibilité avec la version 5.3 de PHP.
- Pour mémoire, le plugin était déjà compatible avec la version 2.1 de SPIP.
- Par défaut, l’ordre de recherche du HOST dans les variables HTTP est celui du client phpCAS. Si les pratiques de l’hébergeur ne sont pas compatibles avec l’ordre du client phpCAS, on peut définir dans le fichier de paramétrage l’ordre à prendre en compte.
- La compatibilité avec d’anciennes adresses email est désormais paramétrable par fichier.
- A titre de réservation, ajout d’une possibilité de pipeline.
- L’utilisation de la version 1.1 du client phpCAS.
Version 1.2 du plugin
La version 1.2 du plugin corrige un bug.
Version 1.3 du plugin
La version 1.3 du plugin apporte l’utilisation de la version 1.2 du client phpCAS.
Version 1.32 du plugin
La version 1.32 du plugin apporte la compatibilité avec les versions 3.3.5 (et supérieures) des serveurs CAS.
Version 1.4 du plugin
La version 1.4 du plugin apporte l’utilisation de la version 1.3 du client phpCAS. Elle apporte également la compatibilité avec SPIP 3.



Description du plugin d’authentification avec CAS
cicas_120308.zip
Vos commentaires
# Le 7 mars à 18:36, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
La version 1.4 du plugin apporte l’utilisation de la version 1.3 du client phpCAS. Elle apporte également la compatibilité avec SPIP 3.
Répondre à ce message
# Le 10 janvier à 11:43, par testeur
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Salut,
J’ai le même problème que LC, l’authentification cicas fonctionne mais je suis envoyé dans la partie « ecrire » alors que j’aimerai être redirigé vers mon intranet (ex : www.monsite.fr/rubrique50 )
j’ai modifié le fichier cicas_pipeline.php, en remplacant self() par $GLOBALS[’meta’][’www.monsite.fr/rubrique50’] mais ca ne fonctionne pas.
Pouvez vous m’aider pour la redirection ?
# Le 10 janvier à 15:19, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
Pour que phpCAS puisse rediriger sur une page particulière, il faut que le lien permettant de s’authentifier (sans entrer dans l’espace privé) précise l’URL de la redirection dans la variable ’url’.
# Le 10 janvier à 15:34, par testeur
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
merci mais j utilise le plugin accès restreint et donc pas de lien pour préciser la redirection. Enfin je ne vois pas ou mettre cette redirection.
# Le 10 janvier à 15:48, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Comment arrive-t-on sur le formulaire d’authentification ?
# Le 10 janvier à 16:28, par testeur
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
# Le 10 janvier à 16:35, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Pour arriver sur le formulaire d’authentification, il faut un lien qui contienne :
# Le 11 janvier à 11:26, par testeur
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
merci équipement pour ton aide.
j’ai réussi avec ce lien :
L’utilisateur clique sur le lien Intranet, puis si il s’authentifie avec le CAS, cela fonctionne par contre si il repasse dans le site public puis ensuite reclique sur le lien ’intranet’, il arrive sur une page vide de spip.
Alors que si je m’authentifie avec les comptes locaux de spip, je peux passer du lien Intranet au site public sans soucis.
c’est un problème important car mes visiteurs font bcp d aller retour entre le site public et la partie intranet et j’ai du mal a identifié si le problème vient de mon lien, du plugin cicas, du plugin acces restreint...
il me reste ce dernier soucis avant de passer en prod si quelqu’un a une idée
# Le 12 janvier à 15:48, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Cela relève de l’élaboration des squelettes. Exemple de piste :
# Le 12 janvier à 16:25, par testeur
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Ca fonctionne dans tous les cas :) , merci pour le temps que tu as consacré.
Répondre à ce message
# Le 10 janvier à 18:39, par David
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
bonjour, je voulais savoir en cas de plantage du serveur CAS si on peux repasser facilement en mode authentification SPIP ? j ai testé un plugin LDAP et suite a une maj de SPIP, il n’étais plus compatible et je ne pouvais plus me connecter.
# Le 11 janvier à 13:43, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour, en cas de plantage du serveur CAS, il suffit de créer un fichier de paramétrage en indiquant le mode d’authentification « hybride », comme cela est détaillé dans la documentation en page 6.
Répondre à ce message
# Le 21 décembre 2011 à 15:49, par LC
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Il me semble que ma question a été plus ou moins posée cepandnat je ne comprends pas bien la reponse. Mon authenfication fonctionne cependant la redirection se fait dans l’espace privé ?? or j’ai :
# Le 21 décembre 2011 à 16:32, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Quelle est la version de CICAS qui est utilisée ?
Quelle est l’adresse dans le navigateur, lorsque le formulaire d’authentification CAS apparaît ?
# Le 22 décembre 2011 à 04:58, par ?
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
version cicas : 1.32
url : https://cas.u-bordeaux2.fr//login?service=http%3A%2F%2F194.167.124.97%2Fintranet%2Fspip.php%3Frubrique31%26cicas%3Doui
# Le 22 décembre 2011 à 09:23, par LC
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Desole
l’url lors de l’authentification est : (http://xxxx/intranet/spip.php?rubrique27) et je suis renvoye par cicas sur (http://xxxx/intranet/ecrire/?bonjour=oui)mais dans la partie privee pourquoi ? ; ma question est la suivante je souhaiterais une redirection vers la page d’accueil publique (http://xxxx/intranet/ par exemple). comment procede t on ?
Merci bien
# Le 22 décembre 2011 à 09:49, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
Pour que phpCAS puisse rediriger sur la page d’accueil du site public, il faut que le lien permettant de s’authentifier (sans entrer dans l’espace privé) précise l’URL de la page d’accueil dans la variable ’url’.
Exemple de lien :
# Le 22 décembre 2011 à 10:18, par LC
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Merci cependant ca n’explique cependant pas pourquoi je suis redirigé vers la partie « ecrire » de spip. D’autre part pour mieux comprendre toutes mes rubriques sont d’accès restreint, la page d’accueil du user est son authentification. Suite à quoi je voudrai qu’il tombe sur la page « accueil » de spip et visualiser mes rubriques « à noter », « actualité » ... qui sont elles à accès restreint.
Merci encore pour votre aide.
# Le 22 décembre 2011 à 15:07, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Dans ce cas spécifique, où la page d’accueil du user est son authentification, pour
rediriger sur la page d’accueil du site public, il faut que l’URL d’accueil du user contienne le paramètre &url=... (en indiquant l’adresse relative de la page d’accueil du site public).
Exemple d’URL d’accueil du user : nn.nn.nn.nn/intranet/spip.php ?rubrique27&url=.%2F
A noter que si ce paramètre url est absent, on redirige par défaut dans l’espace privé (ce qui explique ce qui a été constaté).
# Le 22 décembre 2011 à 15:31, par LC
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bingo :)
Merci beaucoup pour vos reponses rapides et precises
Répondre à ce message
# Le 14 décembre 2011 à 11:45, par Fifouille
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour, j’essaie d’installer et de configurer cicas et je n’arrive pas. Je viens de comprendre qu’il me faut installer un serveur CAS. Peut-on me donner un lien vers une doc ? Est-ce que le plugin fonctionne avec lemonldap ?
Merci
# Le 14 décembre 2011 à 11:54, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
Un lien en français sur le sujet : http://www.esup-portail.org/consortium/espace/SSO_1B/cas/
Le site officiel : http://www.jasig.org/cas
Répondre à ce message
# Le 20 octobre 2011 à 09:58, par Cp
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
Le passage de 2.0.9 en 2.1.0 (et 2.1.x) a t-il des répercussions sur le fonctionnement du plug ?
Avec une 110628, une migration 2.0.9 > 2.1.0 entraîne des comportements bizarres de mon côté (fonctionnement partiel) - désolé pour le vague de ma question ..
# Le 21 octobre 2011 à 08:48, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
J’utilise la dernière version du plugin CAS sur SPIP 2.1.11 sans problèmes.
Répondre à ce message
# Le 28 juin 2011 à 10:17, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
La version 1.32 du plugin apporte la compatibilité avec les versions 3.3.5 (et supérieures) des serveurs CAS.
Répondre à ce message
# Le 4 mars 2011 à 13:46, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
La version 1.2 du plugin corrige un bug. La version 1.3 du plugin apporte l’utilisation de la version 1.2 du client phpCAS.
Répondre à ce message
# Le 1er octobre 2010 à 10:28, par corc
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
J’obtiens cette erreur dans la connexion CAS :
phpCAS error : phpcas ::forceauthentication() : one of the methods phpCAS ::setCasServerCert(), phpCAS ::setCasServerCACert() or phpCAS ::setNoCasServerValidation() must be called. in /www/users/cormier/public_html/site/plugins/auto/cicas/inc/cicas_login.php on line 62
Pouvez-vous m’aider ?
Bien cordialement
# Le 1er octobre 2010 à 10:54, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
Le message indique que l’une des 3 méthodes (setCasServerCert ou setCasServerCACert ou setNoCasServerValidation) doit être appelée avant « forceauthentication ».
Le plugin CICAS tente d’appeler la 3ème méthode (si elle existe) avant « forceauthentication ».
Extrait du fichier cicas/inc/cicas_login.php :
Est-ce le serveur CAS utilise un certificat ?
Cordialement
# Le 1er octobre 2010 à 11:10, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Une piste peut consister à remplacer, dans le fichier cicas/inc/cicas_login.php, le code suivant :
par :
Merci de m’indiquer si cela règle le problème.
# Le 1er octobre 2010 à 11:12, par corc
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
Merci pour cette réponse rapide.
Je me renseigne.
Bien cordialement
# Le 1er octobre 2010 à 11:13, par corc
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Re,
Je fais la transformation et vous donne le résultat.
Cordialemetn
# Le 1er octobre 2010 à 11:26, par corc
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Cela semble fonctionner. A la déconnexion de SPIP l’erreur suivante est affichée :
phpCAS error : phpcas ::logout() : method `phpCAS ::logout($url)’ is now deprecated, use `phpCAS ::logoutWithUrl($url)’ instead in /www/users/cormier/public_html/site/plugins/auto/cicas/action/logout.php on line 94
# Le 1er octobre 2010 à 11:44, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
C’est curieux car le plugin CICAS tient compte de ce genre de situation.
Une piste peut consister à remplacer, dans le fichier cicas/action/logout.php, le code suivant :
par :
Merci de m’indiquer si cela règle le problème.
# Le 1er octobre 2010 à 11:50, par corc
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Re,
En tout cas, conjugué avec l’accès restreint, cela fonctionne très bien. Merci. Je fais la modification et vous dit quoi.
Cordialement
# Le 1er octobre 2010 à 11:59, par corc
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Cela semble fonctionner. La déconnexion renvoie à une page du serveur CAS qui indique que l’utilisateur est déconnecté.
Bien cordialement et merci pour cette réactivité instantanée.
Répondre à ce message
# Le 9 septembre 2010 à 11:46, par Julien Redondo
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
j’ai légèrement modifié le plugin pour ajouter dans la configuration un champ permettant d’ajouter une durée d’expiration pour le cookie (en secondes).
Si la valeur d’expiration n’est pas saisie, alors le cookie est valable jusqu’à la fin de la session SPIP (comme c’était le cas auparavant).
Cordialement,
# Le 9 septembre 2010 à 12:53, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Bonjour,
S’il s’agit du cookie de session de SPIP, le fait de vouloir raccourcir sa durée n’a pas de rapport avec l’authentification centralisée. En effet, cela constitue une demande d’évolution de SPIP, qui est indépendante du mode d’authentification (SPIP, LDAP, etc.).
# Le 9 septembre 2010 à 13:17, par Julien Redondo
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
En fait mon serveur CAS a une durée de validité du ticket sur x jours (par exemple 5 jours) .
Cette modification de ce plugin permet aussi à SPIP de garder la connexion ouverte sur ces x jours.
Je suis conscient que cela n’est pas très sécure mais elle permet de répondre à mon besoin.
# Le 9 septembre 2010 à 14:12, par Equipement
En réponse à : cicas : plugin d’authentification avec CAS pour SPIP 2.0
Le plugin CICAS délègue à SPIP la construction de la session. Aussi c’est SPIP qui gère la durée de son cookie de session.
Répondre à ce message