ActiveDirectory issues with auto register functionality
Hello everybody! I try to configure Active Directory authentication on our local instance. So far, I got the authentication to work using direct binding. I have these options in the auth_conf.xml : <allow-register>No</allow-register> <auto-register>Yes</auto-register> <server>ldap:/REDACTED /</server> <bind-user>{username}@REDACTED</bind-user> <bind-password>{password}</bind-password> <continue-on-failure>False</continue-on-failure> <auto-register-username>{sAMAccountName}</auto-register-username> <login-use-username>True</login-use-username> <auto-register-email>{mail}</auto-register-email> Paster.log: galaxy.auth.providers.ldap_ad DEBUG 2015-09-03 11:26:20,158 LDAP authenticate: whoami is u:REDACTED\GagnonY galaxy.auth.providers.ldap_ad DEBUG 2015-09-03 11:26:20,159 LDAP authentication successful However, the authentication module does not seem to be able to fetch information from LDAP to auto register With these settings, I get the debug message in galaxy when I try to log in : URL: http://localhost:8080/user/login?use_panels=False File '/home/galaxy/galaxy_app/galaxy/eggs/WebError-0.8a-py2.6.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/home/galaxy/galaxy_app/galaxy/eggs/Paste-1.7.5.1-py2.6.egg/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/home/galaxy/galaxy_app/galaxy/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/web/framework/base.py', line 133 in __call__ return self.handle_request( environ, start_response ) File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/web/framework/base.py', line 191 in handle_request body = method( trans, **kwargs ) File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/webapps/galaxy/controllers/user.py', line 482 in login message, status, user, success = self.__validate_login( trans, **kwd ) File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/webapps/galaxy/controllers/user.py', line 524 in __validate_login autoreg = trans.app.auth_manager.check_auto_registration(trans, login, password) File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/auth/__init__.py', line 100 in check_auto_registration auth_result, auto_email, auto_username = provider.authenticate(email, username, password, options) File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/auth/providers/ldap_ad.py', line 177 in authenticate _get_subs(options, 'auto-register-email', params), File '/home/galaxy/galaxy_app/galaxy/lib/galaxy/auth/providers/ldap_ad.py', line 19 in _get_subs return str(d[k]).format(**params) KeyError: 'mail' So for some reason, the module cannot fetch the mail field from AD. If I try to bypass this by putting a harcoded email, same issue occurs with sAMAccountName field. Did anybody encounter this before? Thanks in advance for the help. Yves Gagnon
participants (1)
-
Yves Gagnon