Class: Doorkeeper::OAuth::PreAuthorization

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

Instance Attribute Summary collapse

Attributes included from Validations

#error

Instance Method Summary collapse

Methods included from Validations

#valid?, #validate

Constructor Details

#initialize(server, parameters = {}, resource_owner = nil) ⇒ PreAuthorization

Returns a new instance of PreAuthorization.



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 23

def initialize(server, parameters = {}, resource_owner = nil)
  @server = server
  @client_id = parameters[:client_id]
  @response_type = parameters[:response_type]
  @response_mode = parameters[:response_mode]
  @redirect_uri = parameters[:redirect_uri]
  @scope = parameters[:scope]
  @state = parameters[:state]
  @code_challenge = parameters[:code_challenge]
  @code_challenge_method = parameters[:code_challenge_method]
  @resource_owner = resource_owner
  @custom_access_token_attributes = parameters.slice(*Doorkeeper.config.custom_access_token_attributes)
end

Instance Attribute Details

#authorization_response_flowObject (readonly)

Returns the value of attribute authorization_response_flow.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def authorization_response_flow
  @authorization_response_flow
end

#clientObject (readonly)

Returns the value of attribute client.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def client
  @client
end

#code_challengeObject (readonly)

Returns the value of attribute code_challenge.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def code_challenge
  @code_challenge
end

#code_challenge_methodObject (readonly)

Returns the value of attribute code_challenge_method.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def code_challenge_method
  @code_challenge_method
end

#custom_access_token_attributesObject (readonly)

Returns the value of attribute custom_access_token_attributes.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def custom_access_token_attributes
  @custom_access_token_attributes
end

#missing_paramObject (readonly)

Returns the value of attribute missing_param.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def missing_param
  @missing_param
end

#redirect_uriObject (readonly)

Returns the value of attribute redirect_uri.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def redirect_uri
  @redirect_uri
end

#resource_ownerObject (readonly)

Returns the value of attribute resource_owner.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def resource_owner
  @resource_owner
end

#response_modeObject (readonly)

Returns the value of attribute response_mode.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def response_mode
  @response_mode
end

#response_typeObject (readonly)

Returns the value of attribute response_type.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def response_type
  @response_type
end

#stateObject (readonly)

Returns the value of attribute state.



19
20
21
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 19

def state
  @state
end

Instance Method Details

#as_json(_options = nil) ⇒ Object



60
61
62
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 60

def as_json(_options = nil)
  pre_auth_hash
end

#authorizable?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 37

def authorizable?
  valid?
end

#error_responseObject



49
50
51
52
53
54
55
56
57
58
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 49

def error_response
  if error == :invalid_request
    OAuth::InvalidRequestResponse.from_request(
      self,
      response_on_fragment: response_on_fragment?,
    )
  else
    OAuth::ErrorResponse.from_request(self, response_on_fragment: response_on_fragment?)
  end
end

#form_post_response?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 64

def form_post_response?
  response_mode == "form_post"
end

#scopeObject



45
46
47
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 45

def scope
  @scope.presence || (server.default_scopes.presence && build_scopes)
end

#scopesObject



41
42
43
# File 'lib/doorkeeper/oauth/pre_authorization.rb', line 41

def scopes
  Scopes.from_string(scope)
end