module Doorkeeper::Grape::Helpers

Public Instance Methods

doorkeeper_authorize!(*scopes) click to toggle source

endpoint specific scopes > parameter scopes > default scopes

# File lib/doorkeeper/grape/helpers.rb, line 11
def doorkeeper_authorize!(*scopes)
  endpoint_scopes = endpoint.route_setting(:scopes) || endpoint.options[:route_options][:scopes]
  scopes = if endpoint_scopes
             Doorkeeper::OAuth::Scopes.from_array(endpoint_scopes)
           elsif scopes && !scopes.empty?
             Doorkeeper::OAuth::Scopes.from_array(scopes)
           end

  super(*scopes)
end
doorkeeper_render_error_with(error) click to toggle source
# File lib/doorkeeper/grape/helpers.rb, line 22
def doorkeeper_render_error_with(error)
  status_code = error_status_codes[error.status]
  error!({ error: error.description }, status_code, error.headers)
end

Private Instance Methods

decorated_request() click to toggle source
# File lib/doorkeeper/grape/helpers.rb, line 40
def decorated_request
  AuthorizationDecorator.new(request)
end
doorkeeper_token() click to toggle source
# File lib/doorkeeper/grape/helpers.rb, line 33
def doorkeeper_token
  @_doorkeeper_token ||= OAuth::Token.authenticate(
    decorated_request,
    *Doorkeeper.configuration.access_token_methods
  )
end
endpoint() click to toggle source
# File lib/doorkeeper/grape/helpers.rb, line 29
def endpoint
  env['api.endpoint']
end
error_status_codes() click to toggle source
# File lib/doorkeeper/grape/helpers.rb, line 44
def error_status_codes
  {
    unauthorized: 401,
    forbidden: 403
  }
end