Class: Doorkeeper::OAuth::AuthorizationCodeRequest

Inherits:
Object
  • Object
show all
Includes:
Validations
Defined in:
lib/doorkeeper/oauth/authorization_code_request.rb

Instance Attribute Summary collapse

Attributes included from Validations

#error

Instance Method Summary collapse

Methods included from Validations

#validate

Constructor Details

#initialize(server, grant, client, parameters = {}) ⇒ AuthorizationCodeRequest

Returns a new instance of AuthorizationCodeRequest.



13
14
15
16
17
18
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 13

def initialize(server, grant, client, parameters = {})
  @server = server
  @client = client
  @grant  = grant
  @redirect_uri = parameters[:redirect_uri]
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



11
12
13
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 11

def client
  @client
end

#grantObject

Returns the value of attribute grant.



11
12
13
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 11

def grant
  @grant
end

#redirect_uriObject

Returns the value of attribute redirect_uri.



11
12
13
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 11

def redirect_uri
  @redirect_uri
end

#serverObject

Returns the value of attribute server.



11
12
13
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 11

def server
  @server
end

Instance Method Details

#access_tokenObject



35
36
37
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 35

def access_token
  @access_token ||= Doorkeeper::AccessToken.matching_token_for client, grant.resource_owner_id, grant.scopes
end

#authorizeObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 20

def authorize
  validate
  @response = if valid?
    grant.revoke
    find_or_create_access_token
    TokenResponse.new access_token
  else
    ErrorResponse.from_request self
  end
end

#valid?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/doorkeeper/oauth/authorization_code_request.rb', line 31

def valid?
  self.error.nil?
end