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
# 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
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

#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


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

def as_json(_options = nil)
  pre_auth_hash
end

#authorizable?Boolean

Returns:

  • (Boolean)

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

def authorizable?
  valid?
end

#error_responseObject


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

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)

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

def form_post_response?
  response_mode == "form_post"
end

#scopeObject


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

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

#scopesObject


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

def scopes
  Scopes.from_string(scope)
end