Configuration Lemon LDAP et OpenPAAS

Version 4.1 by Ludovic Dubost on 2019/04/09 14:59

Ce document présente un guide de configuration de l'authentificateur XWiki OpenIDC avec LemonLDAP aussi utilisé par OpenPAAS (Linagora).
Cette configuration a été testée avec une installation docker de lemonLDAP.

Configuration XWiki

Tout d'abord l'authentifcateur OpenIDC doit être activé dans xwiki.cfg:

xwiki.authentication.authclass=org.xwiki.contrib.oidc.auth.OIDCAuthServiceImpl

Et configuré dans xwiki.properties. Voic les configurations qui doivent être modifiées:

oidc.endpoint.authorization=<url de lemon ldap>/oauth2/authorize
oidc.endpoint.token=<url de lemon ldap>/oauth2/token
oidc.endpoint.userinfo=<url de lemon ldap>/oauth2/userinfo

oidc.endpoint.token.auth_method=client_secret_post
oidc.endpoint.userinfo.method=post

oidc.idtokenclaims=id_token

oidc.userinfoclaims=profile,xwiki_user_first_name,xwiki_user_last_name,xwiki_user_company,xwiki_user_phone,xwiki_user_address
oidc.clientid=xwikiopenpaas
oidc.secret=<a remplir>

Par exemple <url de lemon ldap> peut être http://auth.example.com (pour la demo LemonLDAP)

Configuration Lemon LDAP

Il faut se connecter au manager LemonLDAP (par exemple http://manager.example.com).

Le module OpenIDC doit être activé dans la section Paramètres Généraux / Modules Fournisseurs / OpenID Connect

lemonldap-activationopenidc.png

Une application XWiki doit être ajoutée dans la section Paramètres Généraux / Portail / Menu / Catégories et Application.
L'URL de XWiki doit être indiquée.

lemonldap-ajouterapp.png

Une configuration client doit être ajoutée dans "Clients OpenID Connect". Le nom est libre.

lemonldap-ajouterclientopenidc.png

Les paramètres clientid et secret doivent être ajoutés dans la section Options / Authentification. Ceux-ci doit être les mêmes que dans la configuration xwiki.properties

lemonldap-authentification.png

Une addresse de redirection authorisée doit être indiqué dans la section Options / Adresses de redirection autorisées pour la connexion et Options / Adresses de redirection autorisées pour la déconnexion. Celle-ci doit correspondre à l'URL du XWiki et la partie URI doit être /xwiki/oidc/authenticator/callback.

lemonldap-redirectionauthorisee.png

Afin de permettre la synchronisation de champs venant de LemonLDAP dans le profil XWiki des nouveaux attributs commençant par xwiki_user_ suivi du nom du champ XWiki (first_name, last_name, company, address) doivent être ajoutés dans la section Attributs exportés. Il doivent pointer vers des nom de champs LemonLDAP eux-même synchronisés vers la source d'authentification (souvent OpenLDAP). En mode demo, lemonLDAP n'a pas beaucoup de champs disponible, nous avons donc synchronisé le "cn".

lemonldap-attributes.png

Une fois les champs créés la valeur "profile" doit être modifiée dans la sections Options/Déclarations (scopes/claims). Il doit contenir la liste des champs classiques plus les nouveaux champs XWiki. Par exemple:

nom given_name country first_name last_name email mail xwiki_user_first_name xwiki_user_last_name xwiki_user_company

lemonldap-scopeclaims.png

Get Connected