omniauth_callbacks_controller.rb 824 字节
Newer Older
V
vsizov 已提交
1
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
2 3 4 5 6 7 8 9 10 11 12 13 14

  # Extend the standard message generation to accept our custom exception
  def failure_message
    exception = env["omniauth.error"]
    if exception.class == OmniAuth::Error
      error = exception.message
    else
      error   = exception.error_reason if exception.respond_to?(:error_reason)
      error ||= exception.error        if exception.respond_to?(:error)
      error ||= env["omniauth.error.type"].to_s
    end
    error.to_s.humanize if error
  end
V
vsizov 已提交
15 16 17
 
  def ldap
    # We only find ourselves here if the authentication to LDAP was successful.
18 19
    info = request.env["omniauth.auth"]["info"]
    @user = User.find_for_ldap_auth(info)
V
vsizov 已提交
20 21 22 23 24 25 26
    if @user.persisted?
      @user.remember_me = true
    end
    sign_in_and_redirect @user
  end

end