Sha256: 726efa60cb172082666fe2b58fc856f3e29ca42d58621eab93aadd3a35b0d060

Contents?: true

Size: 900 Bytes

Versions: 1

Compression:

Stored size: 900 Bytes

Contents

module Rack
  module OAuth2
    module Server
      class Token
        class AuthorizationCode < Abstract::Handler

          def call(env)
            @request  = Request.new(env)
            @response = Response.new(request)
            super
          end

          class Request < Token::Request
            attr_accessor :client_id, :client_secret, :code, :redirect_uri, :scope

            def initialize(env)
              super
              @grant_type   = 'authorization_code'
              @code         = params['code']
              @redirect_uri = URI.parse(params['redirect_uri']) rescue nil
              @scope        = Array(params['scope'].to_s.split(' '))
            end

            def required_params
              super + [:code, :redirect_uri]
            end
          end

          class Response < Token::Response
          end

        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-oauth2-0.0.0 lib/rack/oauth2/server/token/authorization_code.rb