Module: Devise::Doorkeeper

Defined in:
lib/devise/doorkeeper.rb,
lib/devise/doorkeeper/version.rb,
lib/devise/doorkeeper/doorkeeper_failure_app.rb

Defined Under Namespace

Modules: DoorkeeperFailureApp

Constant Summary collapse

VERSION =
'1.1.2'

Class Method Summary collapse

Class Method Details

.configure_devise(config) ⇒ Object

configure devise to support doorkeeper error responses



8
9
10
# File 'lib/devise/doorkeeper.rb', line 8

def self.configure_devise(config)
  Devise::FailureApp.prepend(Devise::Doorkeeper::DoorkeeperFailureApp)
end

.configure_doorkeeper(base) ⇒ Object

configure doorkeeper to use devise authentication



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/devise/doorkeeper.rb', line 13

def self.configure_doorkeeper(base)
  base.instance_eval do
    resource_owner_authenticator do
      current_user || warden.authenticate!(scope: :user)
    end

    # configure doorkeeper to use devise database authenticatable plugin
    resource_owner_from_credentials do
      user = User.find_for_database_authentication(email: params[:username])
      if user && user.valid_for_authentication? { user.valid_password?(params[:password]) }
        user
      else
        nil
      end
    end
  end
end