Utilisation de Automation PHP et CAS

Bonjour,

J'utilise Nuxeo Automation PHP afin d'effectuer des requêtes sur le serveur Nuxeo depuis une application externe, auparavant j'utilisais l'authentification standard c'est à dire l'utilisation du login/password afin de créer une session. Mais je souhaiterais qu'une fois connecté via CAS que l'on puisse effectuer des requêtes sur le serveur Nuxeo sans avoir besoin d'utiliser le mot de passe à chaque fois mais bien d'utiliser le ticket créer par CAS. Voici la configuration de mon cas-config.xml

<?xml version="1.0"?>
<component name="org.esup.ecm.login">
<!-- certains composants doivent être chargés avant que ce fichier soit
       lu car ils contiennent des points d'extension sur l'authentification -->
<require>org.nuxeo.ecm.platform.ui.web.auth.defaultConfig</require>
<require>org.nuxeo.ecm.platform.ui.web.auth.WebEngineConfig</require>
<require>org.nuxeo.ecm.platform.login.Cas2SSO</require>

<extension
    target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService"
    point="authenticators">
    <authenticationPlugin name="CAS2_AUTH">
       <needStartingURLSaving>true</needStartingURLSaving>
       <loginModulePlugin>Trusting_LM</loginModulePlugin>
        <parameters>
            <!-- variable contenant le ticket dans l'url -->
            <parameter name="ticketKey">ticket</parameter>
            <!-- si utilisation du mode proxy -->
            <!--<parameter name="proxyKey">ticket</parameter>-->
            <parameter name="appURL">http://adresseIp:port/nuxeo/</parameter>
            <!-- URL de login du serveur CAS -->
            <parameter name="serviceLoginURL">https://adresseIp/cas/login</parameter>
            <!-- URL de validation du ticket du serveur CAS -->
            <parameter name="serviceValidateURL">https://adresseIp/cas/serviceValidate</parameter>
            <!-- variable contenant le nom du service dans l'URL -->
            <parameter name="serviceKey">service</parameter>
            <!-- URL de logout de CAS -->
            <parameter name="logoutURL">https://adresseIp/cas/logout?service=http://adresseIp:port/nuxeo/</parameter>
        </parameters>
    </authenticationPlugin>
</extension>
<!-- chainage de l'authentification : on garde une authentification de type
     BASIC pour les accès particuliers (RSS/cmis/contentAutomation) -->
<extension
    target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService"
    point="chain">
    <authenticationChain>
        <plugins>
            <plugin>BASIC_AUTH</plugin>
            <plugin>CAS2_AUTH</plugin>
        </plugins>
    </authenticationChain>
</extension>
<extension point="specificChains" target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService">

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

        <replacementChain>
            <plugin>AUTOMATION_BASIC_AUTH</plugin>
            <plugin>PORTAL_AUH</plugin>
            <plugin>CAS2_AUTH</plugin>
            <plugin>ANONYMOUS_AUTH</plugin>
        </replacementChain>
    </specificAuthenticationChain>
</extension>
</component>

Savez-vous comment serait-il possible de faire cela avec PHP Automation Client ?

Je vous remercie par avance pour votre aide.

0 votes

0 answers

3230 views

ANSWER

Bonjour,

Nous avons la même problématique…

Avez vous trouvé une solution pour utiliser l'authentification CAS à travers automation ?

Merci d'avance

12/10/2013