class Devise::Strategies::Doorkeeper
Constants
- WARDEN_INVALID_TOKEN_MESSAGE
- WARDEN_UNCONFIRMED_RESOURCE_MESSAGE
Public Instance Methods
authenticate!()
click to toggle source
# 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_type()
click to toggle source
override base class implementation allow for Rails application to configure skipping session storage for doorkeeper requests see Devise
skip_session_storage configuration
# File lib/devise/strategies/doorkeeper.rb, line 35 def authentication_type :doorkeeper end
clean_up_csrf?()
click to toggle source
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
# File lib/devise/strategies/doorkeeper.rb, line 43 def clean_up_csrf? false end
valid?()
click to toggle source
# File lib/devise/strategies/doorkeeper.rb, line 12 def valid? credentials = ::Doorkeeper::OAuth::Token.from_request(request, *access_token_methods) credentials.present? end
Private Instance Methods
access_token_methods()
click to toggle source
# File lib/devise/strategies/doorkeeper.rb, line 66 def access_token_methods ::Doorkeeper.configuration.access_token_methods end
invalid_token()
click to toggle source
# File lib/devise/strategies/doorkeeper.rb, line 61 def invalid_token fail!(WARDEN_INVALID_TOKEN_MESSAGE) throw :warden end
resource_from_token()
click to toggle source
# File lib/devise/strategies/doorkeeper.rb, line 49 def resource_from_token token = ::Doorkeeper.authenticate(request) scopes = ::Doorkeeper.configuration.default_scopes invalid_token unless token && token.acceptable?(scopes) mapping.to.find(token.resource_owner_id) end
unconfirmed_resource()
click to toggle source
# File lib/devise/strategies/doorkeeper.rb, line 56 def unconfirmed_resource fail!(WARDEN_UNCONFIRMED_RESOURCE_MESSAGE) throw :warden end