Class: Devise::Strategies::AccessTokenAuthenticatable

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

Instance Method Summary collapse

Instance Method Details

#authenticate!Object



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

def authenticate!
  return oauth_error! if @access_tokens.length > 1

  access_token = Devise::Oauth::AccessToken.where(value: @access_tokens.first).first

  return oauth_error!(403, :access_denied) unless access_token
  return oauth_error!(403, :access_denied) if access_token.expired?
  return oauth_error!(403, :access_denied) if access_token.blocked?

  resource = access_token.resource_owner
  if validate(resource)
    env["devise.oauth.access_token"] = access_token
    resource.oauth_token = access_token
    success!(resource)
  else
    oauth_error!
  end
end

#store?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/devise/strategies/access_token_authenticatable.rb', line 5

def store?
  false # no no for session here
end

#valid?Boolean

Returns:

  • (Boolean)


9
10
11
12
# File 'lib/devise/strategies/access_token_authenticatable.rb', line 9

def valid?
  @access_tokens = [access_token_in_header, access_token_in_payload].compact
  @access_tokens.present?
end