Hello,
We are using a LDAP directory to authenticate users on the nuxeo platform.
With nuxeo drive, users need to authenticate across the platform using their uid as this is the field mapped to the username field of nuxeo user schema.
For authentication across the UI this is not a problem as we're using CAS SSO, but i want my users to be able to use nuxeo drive without knowing their ldap uid.
So ... Here is what i tried:
1 / Map readable username stored in ldap to a field in user schema called hrUsername
2/ Rewrite the basic authenticator as following:
if given login is made from digits (uid), then return it adhoc
else get it from the hrUsername in directory and return the uid
initialize UserIdentificationInfo with user uid anyway
3/ Override the AUTOMATION_BASIC_AUTH with my custom class instead of the default one
It does not work though i can see my custom authenticator is used in server.log (and the username to uid part is working)
I noticed that BASIC_AUTH plugin and ANONYMOUS_AUTH plugin are used. I use a specific chain for
the */automation pattern where there is no anonymous nor basic auth.
Can someone please give help ? Do I need to write a dedicated LoginPlugin class ? I thought just
adapting the UserIdentificationInfo object would be enough ...
Thank you,
Antoine