Class: Devise::Strategies::Doorkeeper

Inherits:
Authenticatable
  • Object
show all
Defined in:
lib/devise/strategies/doorkeeper.rb

Constant Summary collapse

WARDEN_INVALID_TOKEN_MESSAGE =
:invalid_token
WARDEN_UNCONFIRMED_RESOURCE_MESSAGE =
:unconfirmed_resource

Instance Method Summary collapse

Instance Method Details

#authenticate!Object



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

def authenticate!
  resource = resource_from_token
  if validate(resource)
    request.env['devise.skip_trackable'] = true
    if resource.active_for_authentication?
      success!(resource)
    else
      unconfirmed_resource
    end
  else
    invalid_token
  end
end

#authentication_typeObject

override base class implementation allow for Rails application to configure skipping session storage for doorkeeper requests see Devise skip_session_storage configuration



35
36
37
# File 'lib/devise/strategies/doorkeeper.rb', line 35

def authentication_type
  :doorkeeper
end

#clean_up_csrf?Boolean

override base class implementation API requests should not reset the user’s CSRF token which triggers rails to set the session_id key and send cookies to users

Returns:

  • (Boolean)


43
44
45
# File 'lib/devise/strategies/doorkeeper.rb', line 43

def clean_up_csrf?
  false
end

#valid?Boolean

Returns:

  • (Boolean)


12
13
14
15
# File 'lib/devise/strategies/doorkeeper.rb', line 12

def valid?
  credentials = ::Doorkeeper::OAuth::Token.from_request(request, *access_token_methods)
  credentials.present?
end