提交 795cd7f9 编写于 作者: J James Edwards-Jones

Replace define_method with alias_method in Omniauth Controllers

上级 d3a8a074
......@@ -2,23 +2,21 @@ class Ldap::OmniauthCallbacksController < OmniauthCallbacksController
extend ::Gitlab::Utils::Override
def self.define_providers!
if Gitlab::Auth::LDAP::Config.enabled?
Gitlab::Auth::LDAP::Config.available_servers.each do |server|
define_method server['provider_name'] do
ldap
end
end
return unless Gitlab::Auth::LDAP::Config.enabled?
Gitlab::Auth::LDAP::Config.available_servers.each do |server|
alias_method server['provider_name'], :ldap
end
end
define_providers!
# We only find ourselves here
# if the authentication to LDAP was successful.
def ldap
sign_in_user_flow(Gitlab::Auth::LDAP::User)
end
define_providers!
override :set_remember_me
def set_remember_me(user)
user.remember_me = params[:remember_me] if user.persisted?
......
......@@ -4,10 +4,12 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
protect_from_forgery except: [:kerberos, :saml, :cas3]
def handle_omniauth
omniauth_flow(Gitlab::Auth::OAuth)
end
Gitlab.config.omniauth.providers.each do |provider|
define_method provider['name'] do
handle_omniauth
end
alias_method provider['name'], :handle_omniauth
end
# Extend the standard implementation to also increment
......@@ -70,10 +72,6 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
private
def handle_omniauth
omniauth_flow(Gitlab::Auth::OAuth)
end
def omniauth_flow(auth_module, identity_linker: nil)
if current_user
log_audit_event(current_user, with: oauth['provider'])
......
......@@ -49,7 +49,7 @@ module Gitlab
end
def valid_sign_in?
allowed?
allowed? && super
end
def ldap_config
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册