Une authentification SSO pour l’espace public SPIP

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

CasLdapAuthSPIP est un plugin permettant d’utiliser le serveur SSO (Single Sign-On) CAS, développé à l’université de Yale, pour authentifier les accès à l’espace public de SPIP.
Pour SPIP 1.9.2 et 1.9.3.

Le serveur SSO

Un serveur SSO Web comme CAS permet aux utilisateurs d’accéder à l’ensemble des applications d’un SI (système d’information) d’une entité donnée en ne s’authentifiant qu’une seule fois. La première application redirige l’utilisateur vers la page d’authentification centralisée du serveur CAS, puis les autres applications interrogent ce dernier pour savoir si la personne est bien authentifiée et, si oui, le laissent accéder de manière transparente à leurs espaces privés.

Souvent le serveur CAS est connecté à un annuaire LDAP contenant les comptes du SI de l’entité.

Tout ce que vous avez toujours voulu savoir sur CAS est disponible ici
et .

Le plugin CAS pour SPIP

CasLdapAuthSPIP permet de CASsifier la partie publique de SPIP, transformant alors ce dernier en extranet. Un filtre LDAP peut ensuite être ajouté afin de limiter les accès à l’espace public de SPIP à une ou plusieurs catégories de personnes.

La partie privée peut elle-aussi être CASsifiée, dans ce cas là, les utilisateurs ayant un login identique dans SPIP et dans CAS (c’est à dire le plus souvent LDAP), pourront bénéficier du SSO pour y accéder.

Installation et Utilisation

CasLdapAuthSPIP s’installe comme tous les plugins, cf. http://www.spip.net/fr_article3396.html.

Le paramétrage est à faire via l’interface de configuration de CasLdapAuthSPIP dans l’espace privé, voir la copie d’écran ci-dessous :

Écran de configuration de CASS

Téléchargements et liens

Actu 2022

Le source du plugin n’est pas sur la zone, les anciens liens ne sont plus valides et ne sont pas référencés sur archive.org

En cherchant on trouve un peu de doc :
-  une home : https://www.esup-portail.org/wiki/display/PROJSPIPCAS/CAS+and+LDAP+authentication+for+SPIP+1.9.2a
-  un guide d’installation https://www.esup-portail.org/wiki/display/PROJSPIPCAS/Installation+guide+for+CasLdapAuthSPIP qu’on peut également télécharger ici :

On y lit notamment que le plugin necessite le plugin CFG et la librairie phpCas téléchargeable ici, et qu’il a été développé pour SPIP 1.9.2a ou 1.9.3, phpCAS 0.5.1-1, Apache 2, PHP5 et MySQL 5, OpenLDAP 2.2.26 et CAS 2.0 pour le serveur CAS.

On trouve également le dossier du code : https://sourcesup.renater.fr/frs/?group_id=337&release_id=753#casldapauthspip-casldapauthspip-1.3-rc-title-content
également téléchargeable ici :

Discussion

13 discussions

  • Bonjour même question y aura t’il une version utilisable pour spip 2.0 ?

    Répondre à ce message

  • spip 2.0 oui, oui, oui ????

    Répondre à ce message

  • Bonjour,

    Toujours la même question : peut-on espérer qu’une version de ce plugin sera adaptée à Spip V2.1XX et quand ?

    Merci d’avance.

    Bernard

    Répondre à ce message

  • 1

    J’aurais voulu savoir si une mise à jour pour SPIP 2.0 était prévue ?

    Merci

    Répondre à ce message

  • Bonjour,

    une évolution vers Spip v2 est-elle prévue ?

    Répondre à ce message

  • Alexandre

    @Denis Merci pour l’aide, on avance mais toujours une belle page blanche.

    Répondre à ce message

  • Alexandre

    Bonjour a tous,
    excellent article pour présenter ce plug-in, il commence cependant a être un peu hors d’age ( et oui deja un an .. )
    SPIP 2.0 a fait son apparition et ce plug-in n’a pas été mis a jour.. Je me retrouve dans la même situation que deux commentaires au dessous, et je me tate a regresser vers Spip 1.92 ...
    Y’a t-il une solution miracle ?

    Merci d’avance !

    Répondre à ce message

  • 1

    Bonjour,
    j’ai également une page blanche après avoir suivi la procédure de la page : http://casldapauthspip.univ-paris1.fr/installationguide.html , activé le plugin CasLdapAuthSPIP et rajouté la ligne phpCAS ::setNoCasServerValidation() ; à la ligne 85.
    Y a t il autre chose à faire svp ?
    d’avance merci

    • Bonjour
      Je viens de trouver. Le blocage venait du module phpCAS qui n’était en fait pas pris en compte par php. ce module contient un répertoire CAS dans phpcas/source/ . Il faut copier ce répertoire CAS dans un répertoire de l’include_path de php. Pour ma part, j’ai recopié CAS dans /usr/share/php/ , redémarré httpd et le problème s’est réglé ! En espérant que cela aide quelqu’un ...

    Répondre à ce message

  • Marc VALLETEAU de MOULLIAC

    Bonjour, j’ai besoin de mettre en place des services web avec une authentification SSO pour des utilisateurs. J’ai donc essayé de mettre en place le plugin en local pour tester des fonctionnalités. Mais, une fois installé, et après l’avoir activé dans plugins, badaboum !! page blanche, et impossible de rien voir dans la partie privée !! Tout est planté !!

    J’utilise spip 192d, suis sous MAMP (mac léopard, localhost:8888). Je n’ai aucun autre plugin installé sur le site en préparation.

    Ai-je loupé quelque chose ? J’avoue découvrir le processus SSO. Un petit conseil serait le bienvenu ... Merci.

    Marc

    Répondre à ce message

  • 1

    Bonjour,

    J’ai installé le plugin sur un SPIP 1.9.2d.
    Je l’active donc pour la partie privée.

    Je tombe sur mon serveur CAS, je m’authentifie normalement et je retourne sur le spip.
    Et là, j’ai une erreur :

    phpCAS error: phpCAS::isAuthenticated(): one of the methods phpCAS::setCasServerCert(), phpCAS::setCasServerCACert() or phpCAS::setNoCasServerValidation() must be called. in /transit/www/vhosts/csf/httpdocs/plugins/casldapauthspi/balise/login_cas.php on line 53

    (J’utilise la toute dernière version de CAS)

    Si je rajoute l’appel à la fonction phpCAS::setNoCasServerValidation() avant l’appel à phpCAS::isAuthenticated(), j’obtiens une erreur me disant que l’authentification a échoué.

    CAS Authentication failed!
    
    You were not authenticated.
    
    You may submit your request again by clicking here.
    
    If the problem persists, you may contact the administrator of this site.

    Et la, sur le serveur, je n’ai plus aucune trace de cet appel pour récupérer le ticket.
    Les traces prouvent que le cas m’a bien authentifié.

    Que faut-il faire ?

    merci d’avance

    • Bonjour,

      Cette erreur provient du fait que tu travailles avec la dernière version de la librairie PhpCas.

      Pour résoudre ce problème :

      Ajoute à casldap.php ligne 85 la ligne phpCAS:setNoCas.... comme ceci :

      // check CAS authentication

      phpCAS::setNoCasServerValidation() ;

      phpCAS::forceAuthentication() ;

      Bonne continuation

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom