diff options
author | ThibG <thib@sitedethib.com> | 2019-12-01 13:13:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-01 13:13:28 +0100 |
commit | 7d59e25fbd7a0209c11cbe6aac4400bbca4de82b (patch) | |
tree | fc21c09cd6e0e8a666655df8b7f6802745a7e473 /config/initializers/doorkeeper.rb | |
parent | 7f6315841c98a1eee6cb57171a91a88f5c5343df (diff) | |
parent | fae7e0cacec60094dc1ce78d9f63b19b1cacde2d (diff) |
Merge pull request #1250 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'config/initializers/doorkeeper.rb')
-rw-r--r-- | config/initializers/doorkeeper.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb index a5c9caa4a..7784bec62 100644 --- a/config/initializers/doorkeeper.rb +++ b/config/initializers/doorkeeper.rb @@ -8,8 +8,20 @@ Doorkeeper.configure do end resource_owner_from_credentials do |_routes| - user = User.find_by(email: request.params[:username]) - user if !user&.otp_required_for_login? && user&.valid_password?(request.params[:password]) + if Devise.ldap_authentication + user = User.authenticate_with_ldap({ :email => request.params[:username], :password => request.params[:password] }) + end + + if Devise.pam_authentication + user ||= User.authenticate_with_ldap({ :email => request.params[:username], :password => request.params[:password] }) + end + + if user.nil? + user = User.find_by(email: request.params[:username]) + user = nil unless user.valid_password?(request.params[:password]) + end + + user if !user&.otp_required_for_login? end # If you want to restrict access to the web interface for adding oauth authorized applications, you need to declare the block below. |