Class: Grape::OAuth2::Strategies::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/grape_oauth2/strategies/base.rb

Overview

Base Grape::OAuth2 Strategies class . Contains common functionality for all the descendants.

Class Method Summary collapse

Class Method Details

.authenticate_client(request) ⇒ Object

Authenticates Client from the request.



10
11
12
# File 'lib/grape_oauth2/strategies/base.rb', line 10

def authenticate_client(request)
  config.client_class.authenticate(request.client_id, request.try(:client_secret))
end

.authenticate_resource_owner(client, request) ⇒ Object

Authenticates Resource Owner from the request.



15
16
17
# File 'lib/grape_oauth2/strategies/base.rb', line 15

def authenticate_resource_owner(client, request)
  config.resource_owner_class.oauth_authenticate(client, request.username, request.password)
end

.configObject

Short getter for Grape::OAuth2 configuration



20
21
22
# File 'lib/grape_oauth2/strategies/base.rb', line 20

def config
  Grape::OAuth2.config
end

.expose_to_bearer_token(token) ⇒ Rack::OAuth2::AccessToken::Bearer

Exposes token object to Bearer token.

Parameters:

  • token (#to_bearer_token)

    any object that responds to ‘to_bearer_token`

Returns:

  • (Rack::OAuth2::AccessToken::Bearer)

    bearer token instance



40
41
42
# File 'lib/grape_oauth2/strategies/base.rb', line 40

def expose_to_bearer_token(token)
  Rack::OAuth2::AccessToken::Bearer.new(token.to_bearer_token)
end

.scopes_from(request) ⇒ String

Converts scopes from the request string. Separate them by the whitespace.

Returns:

  • (String)

    scopes string



27
28
29
30
31
# File 'lib/grape_oauth2/strategies/base.rb', line 27

def scopes_from(request)
  return nil if request.scope.nil?

  Array(request.scope).join(' ')
end