Fork me on GitHub

Module Persona pour MyLutece

Introduction

Ce module d'authentification pour MyLutece permet d'utiliser le système de gestion d'identités Persona proposé par Mozilla.

Qu'est-ce que Persona ?

Persona permet à un utilisateur de s’authentifier auprès de plusieurs sites (compatibles Persona) sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois son compte Persona basé sur son email.

Pour plus d'information sur Persona, vous pouvez vous référer à la sélection de liens proposée dans le menu gauche.

Fonctionnalités du module

Ce module implémente la couche "RP" (Relying Party) de l'architecture Persona. Il permet d'utiliser une identité Persona pour s'identifier sur un site Lutèce. L'authentification de l'utilisateur est déléguée à Mozilla qui est le fournisseur d'identité (IDP).

Installation

Pré-requis

Ce module nécessite une version 2.1.2 ou supérieure du noyau Lutece (lutece-core)

Le plugin MyLutece doit être installé dans une version 2.1.0 ou supérieure

Fabrication et déploiement (build et deploy)

Pour construire la dernière version du module suivez les instructions suivantes :

(NB: Le client Subversion et Maven3 doivent être installés sur votre système)

$ svn export http://dev.lutece.paris.fr/svn/lutece/portal/trunk/plugins/module-mylutece-persona module-mylutece-persona
$ cd module-mylutece-persona
$ mvn lutece:assembly

La dernière commande construit un package du module sous la forme d'un zip dénommé module-mylutece-persona-xxx-bin-xxxx.zip dans le répertoire ./target/assembly

Pour déployer ce package, il suffit simplment de la dézipper dans la racine de votre webapp.

Configuration

Une fois le module dézippé dans la webapp, activer le par l'interface "Gestion des plugins" du module d'administration

Vérifier dans le fichier WEB-INF/conf/plugins/mylutece.properties que l'authentification est bien activée comme suit :

# Enable authentication
mylutece.authentication.enable=true
    
mylutece.authentication.class=fr.paris.lutece.plugins.mylutece.modules.persona.authentication.PersonaAuthentication

mylutece.url.login.page=Portal.jsp?page=persona
mylutece.url.doLogin=jsp/site/plugins/mylutece/modules/persona/DoRedirectPersonaPage.jsp
mylutece.url.doLogout=jsp/site/plugins/mylutece/modules/persona/DoRedirectPersonaPage.jsp
mylutece.url.default.redirect=../../Portal.jsp

Usage

La page d'authentification Persona s'appelle à partir de l'URL suivante :

http://myhost/lutece/jsp/site/Portal.jsp?page=persona

Il est possible de réaliser ce formulaire d'authentification dans un portlet, soit en copiant le contenu du formulaire dans un portlet HTML, soit en modifiant la feuille de style XSL du portlet MyLutece.

Dépannage

  • Vérifiez bien la configuration de MyLutece comme indiqué ci-dessus.
  • Assurez-vous que le module Persona est le seul module MyLutece présent dans la Webapp. Il ne doit pas y avoir d'autres fichiers mylutece-xxxxx.properties dans le répertoire WEB-INF/conf/plugins/.
  • L'activation des logs en mode debug se fait en ajoutant la ligne suivante dans le fichier WEB-INF/conf/config.properties dans la rubrique LOGGERS :

    log4j.logger.persona=DEBUG, Console