class Doorkeeper::OAuth::AuthorizationCodeRequest
def authorize
def authorize validate @response = if valid? grant.revoke issue_token TokenResponse.new access_token else ErrorResponse.from_request self end end
def initialize(server, grant, client, parameters = {})
def initialize(server, grant, client, parameters = {}) @server = server @client = client @grant = grant @redirect_uri = parameters[:redirect_uri] end
def issue_token
def issue_token @access_token = Doorkeeper::AccessToken.create!({ :application_id => grant.application_id, :resource_owner_id => grant.resource_owner_id, :scopes => grant.scopes_string, :expires_in => server.access_token_expires_in, :use_refresh_token => server.refresh_token_enabled? }) end
def valid?
def valid? self.error.nil? end
def validate_attributes
def validate_attributes redirect_uri.present? end
def validate_client
def validate_client !!client end
def validate_grant
def validate_grant return false unless grant && grant.application_id == client.id grant.accessible? end
def validate_redirect_uri
def validate_redirect_uri grant.redirect_uri == redirect_uri end