Le plugin « cicas » permet d’utiliser un serveur SSO (Single Sign-On), basé sur CAS (Central Authentication Service), pour s’authentifier dans SPIP.
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é
CICAS version 3.0 est compatible avec SPIP 3.0, 3.1, 3.2, 4.0, 4.1, 4.2.
CICAS version 3.0 est compatible avec PHP 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1.
Il surcharge une seule fonction de SPIP (« 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.
Il évite d’installer « composer » (gestionnaire de dépendances et chargeur automatique de classes) et « logger » (alors que ce sont des pré-requis de phpCAS version 1.6.1).
Le client phpCAS nécessite certains prérequis relatifs à PHP.
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.41 du plugin
La version 1.41 du plugin apporte l’utilisation de la version 1.3.1 du client phpCAS. Elle apporte également la compatibilité avec SPIP 3.
Version 1.44 du plugin
La version 1.44 du plugin évite un message inutile dans les fichiers de log de SPIP.
Version 1.5 du plugin
Prise en compte d’une évolution de SPIP 2.1.14 (logout en 2 étapes) dans la surcharge du fichier action/logout.php.
Passage à la version 1.3.2 de phpcas.
Possibilité de contrôler l’unicité de l’email lors de la création / modification d’un auteur (sauf si l’identifiant SSO est le login). Pour cela, il faut déclarer la constante ’_CICAS_ANTI_HACK’ dans le fichier config/mes_options.php avec la valeur ’oui’.
Version 1.6 du plugin
Le client PHP pour CAS (phpCAS), qui est livré avec le plugin, offre la possibilité d’utiliser une adresse pour le serveur CAS et une autre adresse lors de la validation du ticket, c’est-à-dire lorsque SPIP va interroger le serveur CAS.
La version 1.6 du plugin CICAS permet d’exploiter cette possibilité, via trois variables à ajouter dans le fichier de paramétrage. Ces trois variables sont décrites dans l’annexe du document de description du plugin, qui a été mise à jour corrélativement.
Version 1.8 du plugin
Dans le cas où le formulaire #LOGIN_PUBLIC
était utilisé dans un squelette autre que celui de la page « login » (par exemple dans le squelette rubrique ou article si on utilise un certain plugin d’accès restreint), l’adresse de la page ne comprenait pas le paramètre « &url=... » comme c’est le cas pour la page « login ». Aussi, la redirection après authentification, vers une page particulière, ne pouvait pas s’effectuer. La version 1.8 de CICAS prend en compte désormais ce cas particulier.
Version 2.0 du plugin
- Compatibilité avec SPIP 3.1.
- Utilisation de la dernière version (1.3.4) de la librairie phpCAS.
- Possibilité d’une protection anti robot d’indexation pour le formulaire de login, via la constante _CICAS_ANTI_BOT à placer dans un fichier d’options avec la valeur ’oui’.
- Possibilité d’offrir à l’utilisateur le choix entre plusieurs serveurs CAS.
- Possibilité de créer un auteur à la volée.
Version 2.1 du plugin
- Compatibilité avec SPIP 3.2.
- Utilisation de la dernière version (1.3.5) de la librairie phpCAS.
Pour plus de détails, se reporter à la documentation (mise à jour) du plugin CICAS jointe au présent article.
Version 2.2 du plugin
- Compatibilité (sous SPIP 3.2) avec PHP 7.0 et 7.1.
Version 2.4 du plugin
- Compatibilité avec PHP 7.2, 7.3 et 7.4.
Version 2.5 du plugin
- Compatibilité avec SPIP 4.0
Version 2.6 du plugin
- Compatibilité avec PHP 8.0 et 8.1
- Compatibilité avec SPIP 4.1
Version 3.0 du plugin
- Utilisation de la dernière version (1.6.1) de la librairie phpCAS.
- Compatibilité avec SPIP 4.2
- Nécessite une version 7 (ou supérieure) de PHP. En effet, la librairie phpCAS version 1.6.1 nécessite PHP version 7 ou supérieure.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |