Fork me on GitHub

Plugin FranceConnect

Introduction

Ce plugin permet d'acceder à des ressources via la plate-forme FranceConnect. Grâce à l'authentification par le biais d'un fournisseur d'identités de la plate-forme FranceConnect, un fournisseur de service peut ensuite accéder à des ressources liées à l'utilisateur (et avec son consentement). L'accès à ces ressources se fait via le protocole OpenID Connect.

Ce plugin propose aux fournisseurs de service une API Java DataClient qui permet de créer des services d'accès aux données. Pour plus d'informations sur l'utilisation de cette API, reportez-vous à la documentation du Wiki.

Ce plugin est également utilisé par le Module MyLutece FranceConnect qui permet de faire une authentification Lutece basée sur les fournisseurs d'identités de FranceConnect.

Installation

Configuration

Configurer le fichier de context du plugin (WEB-INF/conf/plugins/franceconnect_context.xml).

Il faut notamment paramétrer :

  • Les adresses des WebServices la plate-forme FranceConnect (end points)
  • Vos identifiants (id, secret) qui vous auront été fournit par FranceConnect
  • L'adresse du Callback du plugin (NB : Cette adresse doit être enregistrée et associée à votre ID Client auprès FranceConnect. Tout changement de serveur doit faire l'objet d'un nouvel enregistrement)
doit ensuite être paramétré avec les informations du service client (id, secret et callback) :

           
     
    <bean id="franceconnect.server" class="fr.paris.lutece.plugins.franceconnect.oidc.AuthServerConf">
        <property name="issuer" value="http://fcp.integ01.dev-franceconnect.fr"/>
        <property name="authorizationEndpointUri"
                                  value="https://fcp.integ01.dev-franceconnect.fr/api/v1/authorize"/>
        <property name="tokenEndpointUri" value="https://fcp.integ01.dev-franceconnect.fr/api/v1/token"/>
    </bean> 
    
    <bean id="franceconnect.client" class="fr.paris.lutece.plugins.franceconnect.oidc.AuthClientConf">
        <property name="clientId" value=" **** à renseigner **** "/>
        <property name="clientSecret" value=" **** à renseigner **** "/>
        <property name="redirectUri" value=" **** à renseigner **** "/>
    </bean>       
    
    <bean id="franceconnect.callbackHandler" class="fr.paris.lutece.plugins.franceconnect.web.CallbackHandler" >
        <property name="authServerConf">
            <idref>franceconnect.server</idref>
        </property>
        <property name="authClientConf">
            <idref>franceconnect.client</idref>
        </property>
    </bean>      
    
    <!-- DataClient UserInfo -->
    <bean id="franceconnect.userInfoClient" class="fr.paris.lutece.plugins.franceconnect.oidc.DataClient">
        <property name="dataServerUri" value="https://fcp.integ01.dev-franceconnect.fr/api/v1/userinfo"/>
        <property name="tokenMethod" value="HEADER"/>
        <property name="scope">
            <set value-type="java.lang.String">
                <value>openid</value>
                <value>profile</value>
                <value>email</value>
                <value>address</value>
                <value>phone</value>
            </set>
        </property>
        <!-- Optional eIDAS management -->
        <!--
        <property name="acrValuesSet">
            <set value-type="java.lang.String">
                <value>eidas2</value>
            </set>
        </property>
        -->
    </bean>

<!--    <bean id="franceconnect.jwtParser" class="fr.paris.lutece.plugins.franceconnect.oidc.jwt.MitreJWTParser" /> -->
    <bean id="franceconnect.jwtParser" class="fr.paris.lutece.plugins.franceconnect.oidc.jwt.JjwtJWTParser" />
    

Dépannage

  • 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.lutece.franceconnect=DEBUG, Console