PAM login in 20.05

Dear all,

I’d trying to configure PAM auth in galaxy 20.05.
I’d like users to enter their linux credentials and make Galaxy register them automatically.

I’ve created a auth_conf.xml file like:

< ?xml version=“1.0”?>
< auth>
< authenticator>
< type>PAM< /type>
< options>
< auto-register>True< /auto-register>
< pam-service>system-auth-ac< /pam-service>
< login-use-username>True< /login-use-username>
< /options>
< /authenticator>
< /auth>

I then go to the login page and use my credentials and I see the error:

“Uncaught exception in exposed API method:”

Log say:

run.sh: galaxy.auth.providers.pam_auth DEBUG 2020-07-30 12:51:03,291 [p:7289,w:2,m:0] [uWSGIWorker2Core2] PAM authentication successful for diazalbe
run.sh: galaxy.auth.util DEBUG 2020-07-30 12:51:03,300 [p:7289,w:2,m:0] [uWSGIWorker2Core2] Email: None, auto-register with username: bob
run.sh: galaxy.web.framework.decorators ERROR 2020-07-30 12:51:03,301 [p:7289,w:2,m:0] [uWSGIWorker2Core2] Uncaught exception in exposed API method:
Jul 30 12:51:03 inhas06030 run.sh: Traceback (most recent call last):

and the exception:

run.sh: if not(VALID_EMAIL_RE.match(email)):
run.sh: TypeError: expected string or bytes-like object

this is a new user but Galaxy is already expecting an email for it. That means that I need to enable user registration, register my linux account and associate an email to it (I use the very same pasword) and then login works fine.

My question is: is there a way to make Galaxy register any new user with valid linux credentials?

Thanks

Hi Pelacables,

I think you need to set login-use-email to False and also specify a
value for maildomain in your auth_conf.xml file. Basically, the add the following 2 lines:

<maildomain>example.com</maildomain>
<login-use-email>False</login-use-email>

Let us know if this resolves your issue.
Thanks,
-Kaivan

1 Like

Hi,

thanks for the answer and sorry for the delay on my reply, I was on vacation.
It works perfectly now after adding the two option you mentioned.

Best,
Arnau