Projet esup-ecm

Recherche

Sommaire

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

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Remarque

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.

Remarque

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 :

Bloc de code
languagebash
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

Bloc de code
languagehtml/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/