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.
Commentaire: Migrated to Confluence 5.3

...

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

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.

...

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 d’authentification spécifique introduite avec automation.

...

Création d'un template dev_sso

Remarque

Le plugin portal-sso se trouve sous https://maven-eu.nuxeo.org/nexus/content/repositories/public-releases/org/nuxeo/ecm/platform/nuxeo-platform-login-portal-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

...

  • 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

...

  • 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
  • Info

    Si on utilise nuxeo drive, il faut ajouter <plugin>TOKEN_AUTH</plugin> après <plugin>PORTAL_AUTH</plugin>

Le code java

Cf. NuxeoRESTWithSSSOTest.java

A partir de la version 5.4.2 du client automation on dispose d'un objet PortalSSOAuthInterceptor. Il suffit d'utiliser ce dernier lors de l'établissement de la connexion. On le construit en lui passant en paramètre le secret contenu dans portal-auth-config.xml et l'uid de l'utilisateur courant.

Voici un exemple de code :

Bloc de code
languagejava
HttpAutomationClient client = new HttpAutomationClient("http://localhost:8080/nuxeo/site/automation

...

");
String secret = "toto";
String user = "test";
client.setRequestInterceptor(new PortalSSOAuthInterceptor(secret, user));
Session session = client.getSession();

Pour utiliser la version 5.4.2 du client automation il suffit d'ajouter cette dépendance de le pom.xml de votre projet maven :

Bloc de code
languagehtml/xml
<dependency>
 <groupId>org.nuxeo.ecm.automation</groupId>
 <artifactId>nuxeo-automation-client</artifactId>
 <version>5.4.2</version>
</dependency>

Sachant que pour trouver cette dépendance il faut référencer le dépôt maven de nuxeo :

Bloc de code
languagehtml/xml
<repositories>
 <repository>
  <id>nuxeo</id>
  <url>https://maven.nuxeo.org/nexus/content/repositories/public-releases</url>
  <releases>
   <enabled>true</enabled>
  </releases>
  <snapshots>
   <enabled>false</enabled>
  </snapshots>
 </repository>
</repositories>

...