class Doorkeeper::OAuth::AuthorizationCodeRequest

Attributes

access_token[RW]
client[RW]
grant[RW]
redirect_uri[RW]
server[RW]

Public Class Methods

new(server, grant, client, parameters = {}) click to toggle source
# File lib/doorkeeper/oauth/authorization_code_request.rb, line 12
def initialize(server, grant, client, parameters = {})
  @server = server
  @client = client
  @grant  = grant
  @redirect_uri = parameters[:redirect_uri]
end

Private Instance Methods

before_successful_response() click to toggle source
Calls superclass method
# File lib/doorkeeper/oauth/authorization_code_request.rb, line 21
def before_successful_response
  grant.transaction do
    grant.lock!
    raise Errors::InvalidGrantReuse if grant.revoked?

    grant.revoke
    find_or_create_access_token(grant.application,
                                grant.resource_owner_id,
                                grant.scopes,
                                server)
  end
  super
end
validate_attributes() click to toggle source
# File lib/doorkeeper/oauth/authorization_code_request.rb, line 35
def validate_attributes
  redirect_uri.present?
end
validate_client() click to toggle source
# File lib/doorkeeper/oauth/authorization_code_request.rb, line 39
def validate_client
  !!client
end
validate_grant() click to toggle source
# File lib/doorkeeper/oauth/authorization_code_request.rb, line 43
def validate_grant
  return false unless grant && grant.application_id == client.id
  grant.accessible?
end
validate_redirect_uri() click to toggle source
# File lib/doorkeeper/oauth/authorization_code_request.rb, line 48
def validate_redirect_uri
  Helpers::URIChecker.valid_for_authorization?(
    redirect_uri,
    grant.redirect_uri
  )
end