We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
In config/initializers/ add a new file ldap_authenticatable.rb.
config/initializers/
ldap_authenticatable.rb
require 'net/ldap' require 'devise/strategies/authenticatable' module Devise module Strategies class LdapAuthenticatable < Authenticatable def authenticate! if params[:user] ldap = Net::LDAP.new ldap.host = [YOUR LDAP HOSTNAME] ldap.port = [YOUR LDAP HOSTNAME PORT] ldap.auth email, password if ldap.bind user = User.find_or_create_by(email: email) success!(user) else return fail(:invalid_login) end end end def email params[:user][:email] end def password params[:user][:password] end end end end Warden::Strategies.add(:ldap_authenticatable, Devise::Strategies::LdapAuthenticatable)
Add a configuration option in config/initializers/devise.rb
config/initializers/devise.rb
Devise.setup do |config| config.warden do |manager| manager.default_strategies(:scope => :user).unshift :ldap_authenticatable end # ... rest of devise config end