浏览代码

Fix resource_owner_from_credentials in Doorkeeper initializer (#12743)

- Nil error when e-mail not found
- LDAP authentication used in place of PAM authentication
master^2
Eugen Rochko 4 年前
committed by GitHub
父节点
当前提交
59c697a30c
找不到此签名对应的密钥 GPG 密钥 ID: 4AEE18F83AFDEB23
共有 1 个文件被更改,包括 4 次插入9 次删除
  1. +4
    -9
      config/initializers/doorkeeper.rb

+ 4
- 9
config/initializers/doorkeeper.rb 查看文件

@@ -8,20 +8,15 @@ Doorkeeper.configure do
end

resource_owner_from_credentials do |_routes|
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
user = User.authenticate_with_ldap(email: request.params[:username], password: request.params[:password]) if Devise.ldap_authentication
user ||= User.authenticate_with_pam(email: request.params[:username], password: request.params[:password]) if Devise.pam_authentication

if user.nil?
user = User.find_by(email: request.params[:username])
user = nil unless user.valid_password?(request.params[:password])
user = nil unless user&.valid_password?(request.params[:password])
end

user if !user&.otp_required_for_login?
user unless 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.


正在加载...
取消
保存