class Simple::OAuth2::Strategies::Base

Base Strategies class. Contains common functionality for all the descendants

Public Class Methods

authenticate_access_grant(request) click to toggle source

Authenticates Access Grant from the request

# File lib/simple_oauth2/strategies/base.rb, line 24
def authenticate_access_grant(request)
  config.access_grant_class.by_token(request.code)
end
authenticate_client(request) click to toggle source

Authenticates Client from the request

# File lib/simple_oauth2/strategies/base.rb, line 10
def authenticate_client(request)
  config.client_class.by_key(request.client_id)
end
authenticate_resource_owner(client, request) click to toggle source

Authenticates Resource Owner from the request

# File lib/simple_oauth2/strategies/base.rb, line 15
def authenticate_resource_owner(client, request)
  config.resource_owner_class.oauth_authenticate(
    client,
    request.params['username'],
    request.params['password']
  )
end
authorization_verify_client!(request, response) click to toggle source

Authorization endpoint, check client and redirect_uri for exact matching verifier

# File lib/simple_oauth2/strategies/base.rb, line 45
def authorization_verify_client!(request, response)
  client = authenticate_client(request) || request.bad_request!
  response.redirect_uri = request.verify_redirect_uri!(client.redirect_uri)
  client
end
expose_to_bearer_token(token) click to toggle source

Exposes token object to Bearer token.

@param token [AccessToken] any object that responds to `to_bearer_token` @return [Rack::OAuth2::AccessToken::Bearer] bearer token instance

# File lib/simple_oauth2/strategies/base.rb, line 33
def expose_to_bearer_token(token)
  Rack::OAuth2::AccessToken::Bearer.new(token.to_bearer_token)
end
token_verify_client!(request) click to toggle source

Token endpoint, check client for exact matching verifier

# File lib/simple_oauth2/strategies/base.rb, line 38
def token_verify_client!(request)
  client = authenticate_client(request) || request.invalid_client!
  client.secret == request.client_secret || request.invalid_client!
  client
end

Private Class Methods

config() click to toggle source

Short getter for Simple::OAuth2 configuration.

# File lib/simple_oauth2/strategies/base.rb, line 54
def config
  Simple::OAuth2.config
end