class Rack::OAuth2::Server::Authorize::Request

Attributes

verified_redirect_uri[RW]

Public Class Methods

new(env) click to toggle source
# File lib/rack/oauth2/server/authorize.rb, line 41
def initialize(env)
  super
  # NOTE: Raise before redirect_uri is saved not to redirect back to unverified redirect_uri.
  bad_request! if client_id.blank?
  @redirect_uri = Util.parse_uri(params['redirect_uri']) if params['redirect_uri']
  @state = params['state']
end

Public Instance Methods

error_params_location() click to toggle source
# File lib/rack/oauth2/server/authorize.rb, line 71
def error_params_location
  nil # => All errors are raised immediately and no error response are returned to client.
end
verify_redirect_uri!(pre_registered, allow_partial_match = false) click to toggle source
# File lib/rack/oauth2/server/authorize.rb, line 49
def verify_redirect_uri!(pre_registered, allow_partial_match = false)
  @verified_redirect_uri = if redirect_uri.present?
    verified = Array(pre_registered).any? do |_pre_registered_|
      if allow_partial_match
        Util.uri_match?(_pre_registered_, redirect_uri)
      else
        _pre_registered_.to_s == redirect_uri.to_s
      end
    end
    if verified
      redirect_uri
    else
      bad_request!
    end
  elsif pre_registered.present? && Array(pre_registered).size == 1 && !allow_partial_match
    Array(pre_registered).first
  else
    bad_request!
  end
  self.verified_redirect_uri.to_s
end