[arvados] sso ldap issues

Emyr James ej4 at sanger.ac.uk
Thu May 14 05:23:10 EDT 2015


Hi,
I used the instrumented branch of the sso server and the stack trace 
said the problem was in line 59 in 
/sso-devise-omniauth-provider/app/controllers/users/omniauth_callbacks_controller.rb

I modified the code to this...

   def ldap
     begin
       puts '******'
       puts CfiOauthProvider::Application.config.use_ldap[:email_domain]
       puts '******'
       puts request.env['omniauth.auth']['info']['nickname']
       puts '******'
       @user = User.authenticate(:ldap,
request.env['omniauth.auth']['info']['nickname'] + "@" + 
CfiOauthProvider::Application.config.use_ldap[:email_domain],
                                 request.env['omniauth.auth']['uid'],
                                 current_user)

...and I get this in the apache error log :

App 14046 stdout: (ldap) Callback phase initiated.
App 14046 stdout: ******
App 14046 stdout:
App 14046 stdout:
App 14046 stdout: ******
App 14046 stdout:
App 14046 stdout: ej4
App 14046 stdout:
App 14046 stdout: ******
App 14046 stdout:


Which suggests that this is evaluating to null : 
CfiOauthProvider::Application.config.use_ldap[:email_domain]

I have the following (sanitized) in my application.yml...

   use_ldap:
     title: Sanger LDAP
     host: example.com
     port: 636
     method: ssl
     base: "dc=sanger,dc=ac,dc=uk"
     uid: uid
     email_domain: "sanger.ac.uk"

...so email_domain seems to be set properly with the correct 
indentation. It seems that the issue must be in the code that picks up 
the config items to create the config dictionary.

Cheers,

Emyr






-- 
 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 



More information about the arvados mailing list