Commit a44b85be9eafed5e2aea30bbb9830e6040145c06

Authored by Valeriy Sizov
2 parents a6870dd0 2bb2dee0

Merge pull request #422 from steveprentice/master

This makes gitlabhq compatible with more LDAP servers (specifically OpenLDAP).
app/controllers/omniauth_callbacks_controller.rb
... ... @@ -2,8 +2,8 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
2 2  
3 3 def ldap
4 4 # We only find ourselves here if the authentication to LDAP was successful.
5   - omniauth = request.env["omniauth.auth"]["extra"]["raw_info"]
6   - @user = User.find_for_ldap_auth(omniauth)
  5 + info = request.env["omniauth.auth"]["info"]
  6 + @user = User.find_for_ldap_auth(info)
7 7 if @user.persisted?
8 8 @user.remember_me = true
9 9 end
... ...
app/models/user.rb
... ... @@ -71,15 +71,15 @@ class User < ActiveRecord::Base
71 71 name.split(" ").first unless name.blank?
72 72 end
73 73  
74   - def self.find_for_ldap_auth(omniauth)
75   - username = omniauth.sAMAccountName[0]
76   - email = omniauth.userprincipalname[0]
  74 + def self.find_for_ldap_auth(omniauth_info)
  75 + name = omniauth_info.name
  76 + email = omniauth_info.email
77 77  
78 78 if @user = User.find_by_email(email)
79 79 @user
80 80 else
81 81 password = generate_random_password
82   - @user = User.create(:name => username,
  82 + @user = User.create(:name => name,
83 83 :email => email,
84 84 :password => password,
85 85 :password_confirmation => password
... ...