Lemon LDAP and OpenPAAS Configuration
This document presents a configuration guide for the XWiki OpenIDC authenticator with LemonLDAP also used by OpenPAAS (Linagora).
This configuration has been tested with a docker installation of lemonLDAP.
XWiki Configuration
First the OpenIDC Authenticator must be enabled in xwiki.cfg:
And configured in xwiki.properties. Here are the properties to configure:
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>
For example <url of lemon ldap> can be http://auth.example.com (for LemonLDAP demo)
As lemon LDAP has multiple URLs make sure to use the correct URL which responds to the /oauth2/ path
Lemon LDAP Configuration
You have to connect to the LemonLDAP manager (for example http://manager.example.com).
The OpenIDC module must be activated in the section General Settings / Supplier Modules / OpenID Connect
An XWiki application must be added in the General Settings / Portal / Menu / Categories and Application section.
The XWiki URL must be specified.
A client configuration must be added in "OpenID Connect Clients". The name can be anything.
The clientid and secret parameters must be added in the Options / Authentication section. These must be the same as in the xwiki.properties configuration
An authorized redirection address must be specified in the Options / Redirection Addresses Allowed for Connection and Options / Redirected Adresses for Disconnection options. This must match the URL of the XWiki and the URI part must be / xwiki / oidc / authenticator / callback.
In order to allow the synchronization of fields from LemonLDAP into the XWiki profile, new attributes starting with xwiki_user_ followed by the name of the XWiki field (first_name, last_name, company, address) must be added in the Export Attributes section. They must point to LemonLDAP field names themselves synchronized to the authentication source (often OpenLDAP). In demo mode, lemonLDAP does not have many available fields, so we synchronized the "cn".
Once the fields have been created, the "profile" value must be modified in the Options / Declarations section. It should contain the list of classic fields plus the new XWiki fields. For example:
name given_name country first_name last_name email mail xwiki_user_first_name xwiki_user_last_name xwiki_user_company
Troubleshooting
If all goes well when going to XWiki and clicking login, you should be redirected to the lemon ldap authentication screen and after authentication you should be redirected to XWiki and the XWiki user profile created and populated with the profile information.
In case of problems debugging is possible at XWiki level (in the preferences you can activate logging information for the oidc module) and in LemonLDAP by activating debug logs in the Apache configuration.