Module: Devise::Oauth2::Authorization

Extended by:
ActiveSupport::Concern
Included in:
AuthorizationsController
Defined in:
app/controllers/devise/oauth2/authorization.rb

Instance Method Summary collapse

Instance Method Details

#access_tokenObject



68
69
70
71
# File 'app/controllers/devise/oauth2/authorization.rb', line 68

def access_token
  return params[:access_token] if params[:access_token]
  request.headers['HTTP_AUTHORIZATION'].split(' ')[-1] if request.headers['HTTP_AUTHORIZATION']
end

#access_token?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'app/controllers/devise/oauth2/authorization.rb', line 73

def access_token?
  !!access_token
end

#access_token_signed_in?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/controllers/devise/oauth2/authorization.rb', line 24

def access_token_signed_in?
  !!@access_token
end

#auth_codeObject



52
53
54
# File 'app/controllers/devise/oauth2/authorization.rb', line 52

def auth_code
  params[:code]
end

#authenticate_anyone!Object



77
78
79
# File 'app/controllers/devise/oauth2/authorization.rb', line 77

def authenticate_anyone!
  render json: { error: 'Valid user credentials must be submitted with this request.' }, status: 401 unless current_anything || params[:refresh_token] || params[:code]
end

#client_credentialsObject



28
29
30
# File 'app/controllers/devise/oauth2/authorization.rb', line 28

def client_credentials
  client_id? || client_secret?
end

#client_credentials?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/controllers/devise/oauth2/authorization.rb', line 32

def client_credentials?
  !!client_credentials
end

#client_idObject



44
45
46
# File 'app/controllers/devise/oauth2/authorization.rb', line 44

def client_id
  params[:client_id] if params[:client_id]
end

#client_id?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'app/controllers/devise/oauth2/authorization.rb', line 48

def client_id?
  !!client_id
end

#client_secretObject



36
37
38
# File 'app/controllers/devise/oauth2/authorization.rb', line 36

def client_secret
  params[:client_secret]
end

#client_secret?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'app/controllers/devise/oauth2/authorization.rb', line 40

def client_secret?
  !!client_secret
end

#code?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'app/controllers/devise/oauth2/authorization.rb', line 56

def code?
  !!auth_code
end

#current_access_tokenObject



12
13
14
# File 'app/controllers/devise/oauth2/authorization.rb', line 12

def current_access_token
  @access_token ||= AccessToken.find_by(token: access_token) if access_token?
end

#current_anythingObject



90
91
92
# File 'app/controllers/devise/oauth2/authorization.rb', line 90

def current_anything
  send "current_#{devise_scope_name}"
end

#current_oauth2_client(opts: { secure: false }) ⇒ Object



6
7
8
9
10
# File 'app/controllers/devise/oauth2/authorization.rb', line 6

def current_oauth2_client(opts: { secure: false })
  return @secure_client ||= Client.find_by(secret: client_secret) if opts[:secure]
  return @secure_client ||= Client.find_by(id: current_access_token.client_id) if valid_access_token?
  @client ||= Client.find_by('identifier = :client_id OR secret = :secret', client_id: client_id, secret: client_secret) if client_credentials?
end

#devise_scope_nameObject



81
82
83
# File 'app/controllers/devise/oauth2/authorization.rb', line 81

def devise_scope_name
  Rails.application.config.devise_oauth2_rails4.devise_scope
end

#oauth2_client_signed_in?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/controllers/devise/oauth2/authorization.rb', line 20

def oauth2_client_signed_in?
  !!@client
end

#refresh_tokenObject



60
61
62
# File 'app/controllers/devise/oauth2/authorization.rb', line 60

def refresh_token
  params[:refresh_token] if params[:refresh_token]
end

#refresh_token?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'app/controllers/devise/oauth2/authorization.rb', line 64

def refresh_token?
  !!refresh_token
end

#valid_access_token?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/controllers/devise/oauth2/authorization.rb', line 16

def valid_access_token?
  !!current_access_token
end