class Rack::OAuth2::Server::Authorize

Public Instance Methods

_call(env) click to toggle source
# File lib/rack/oauth2/server/authorize.rb, line 5
def _call(env)
  request = Request.new(env)
  response_type_for(request).new(&@authenticator)._call(env).finish
rescue Rack::OAuth2::Server::Abstract::Error => e
  e.finish
end

Private Instance Methods

extensions() click to toggle source
# File lib/rack/oauth2/server/authorize.rb, line 30
def extensions
  Extension.constants.sort.collect do |key|
    Extension.const_get key
  end
end
response_type_for(request) click to toggle source
# File lib/rack/oauth2/server/authorize.rb, line 14
def response_type_for(request)
  response_type = request.params['response_type'].to_s
  case response_type
  when 'code'
    Code
  when 'token'
    Token
  when ''
    request.attr_missing!
  else
    extensions.detect do |extension|
      extension.response_type_for? response_type
    end || request.unsupported_response_type!
  end
end