Recherche

Sommaire

Pages enfant
  • Acès automation via nuxeo-platform-login-portal-sso

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=201097232) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 2) afficher la version suivante »

Introduction

L'objectif ici était de tester un accès via automation à nuxeo en utilisant le plugin de login portal-sso.

Ceci dans la perspective d'utiliser cette méthode dans de futures portlets.

esup-file-manager utilise déjà ce plugin mais via un client CMIS et pas automation. On verra qu'il y quelques subtilités.

Mise en œuvre

La première chose à faire est de configurer le plugin de login portal-sso.

Je conseille la lecture de cette réponse sur answers.nuxeo.com

Néanmoins ma documentation précise un point concernant la surcharge d'une chaîne d'authentification spécifique introduite avec automation.

Configuration

Création d'un template dev_sso

Contenu :

templates/dev_sso/
templates/dev_sso/nxserver
templates/dev_sso/nxserver/config
templates/dev_sso/nxserver/config/portal-auth-config.xml
templates/dev_sso/nxserver/bundles
templates/dev_sso/nxserver/bundles/nuxeo-platform-login-portal-sso-5.4.1-HF11.jar
templates/dev_sso/nuxeo.defaults

Explications :

  • templates/dev_sso/nuxeo.defaults est obligatoire mais est vide ici
  • templates/dev_sso/nxserver/bundles/nuxeo-platform-login-portal-sso-5.4.1-HF11.jar est le jar du plugin de login portal-sso.
  • templates/dev_sso/nxserver/config/portal-auth-config.xml est le fichier de configuration (Cf. ci-dessous)
  • Le template est pris en compte en modifiant la proprité nuxeo.templates de bin/nuxeo.conf (nuxeo.templates=default,dev_sso

Le fichier portal-auth-config.xml

<component name="MyAPP.postal_sso">
   <require>org.nuxeo.ecm.platform.ui.web.auth.defaultConfig</require>
   <require>org.nuxeo.ecm.platform.login.Portal</require>
<!-- RB : on surcharge la conf de org.nuxeo.ecm.automation.server.auth.config qui définit une specificAuthenticationChain sans PORTAL_AUTH -->
   <require>org.nuxeo.ecm.automation.server.auth.config</require>

   <extension
      target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService"
      point="authenticators">
      <authenticationPlugin
              name="PORTAL_AUTH">
       <loginModulePlugin>Trusting_LM</loginModulePlugin>
       <parameters>
         <!-- define here shared secret between the portal and Nuxeo server -->
         <parameter name="secret">toto</parameter>
         <parameter name="maxAge">3600</parameter>
       </parameters>
      </authenticationPlugin>
  </extension>

<!-- RB : On surcharge ici la specificAuthenticationChain de org.nuxeo.ecm.automation.server.auth.config -->
  <extension
      target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService"
      point="specificChains">

    <specificAuthenticationChain name="Automation">
        <urlPatterns>
            <url>(.*)/automation.*</url>
        </urlPatterns>

        <replacementChain>
            <plugin>AUTOMATION_BASIC_AUTH</plugin>
	    <plugin>PORTAL_AUTH</plugin>
            <plugin>ANONYMOUS_AUTH</plugin>
        </replacementChain>
    </specificAuthenticationChain>

  </extension>

</component>

Explications :

  • Ne pas oublier de dépendre de org.nuxeo.ecm.automation.server.auth.config afin de pouvoir en surcharger la configuration
  • Le paramètre secret sera utilisé dans la code java
  • On ajoute <plugin>PORTAL_AUTH</plugin> dans la définition de la chaîne d'authentification automation

answers.nuxeo.com/

  • Aucune étiquette