|
|
|
@ -6,7 +6,7 @@ module LdapAuthenticable
|
|
|
|
|
class_methods do
|
|
|
|
|
def authenticate_with_ldap(params = {})
|
|
|
|
|
ldap = Net::LDAP.new(ldap_options)
|
|
|
|
|
filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, email: params[:email])
|
|
|
|
|
filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, mail: Devise.ldap_mail, email: params[:email])
|
|
|
|
|
|
|
|
|
|
if (user_info = ldap.bind_as(base: Devise.ldap_base, filter: filter, password: params[:password]))
|
|
|
|
|
ldap_get_user(user_info.first)
|
|
|
|
@ -25,7 +25,7 @@ module LdapAuthenticable
|
|
|
|
|
resource = joins(:account).find_by(accounts: { username: safe_username })
|
|
|
|
|
|
|
|
|
|
if resource.blank?
|
|
|
|
|
resource = new(email: attributes[:mail].first, agreement: true, account_attributes: { username: safe_username }, admin: false, external: true, confirmed_at: Time.now.utc)
|
|
|
|
|
resource = new(email: attributes[Devise.ldap_mail.to_sym].first, agreement: true, account_attributes: { username: safe_username }, admin: false, external: true, confirmed_at: Time.now.utc)
|
|
|
|
|
resource.save!
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|