Class: StandardId::Oauth::BaseRequestFlow

Inherits:
Object
  • Object
show all
Defined in:
lib/standard_id/oauth/base_request_flow.rb

Overview

Shared base for all OAuth flows to handle params DSL and request context Used by both token grant flows and authorization endpoint flows

Direct Known Subclasses

AuthorizationFlow, TokenGrantFlow

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params, request, current_account: nil) ⇒ BaseRequestFlow

Returns a new instance of BaseRequestFlow.



8
9
10
11
12
# File 'lib/standard_id/oauth/base_request_flow.rb', line 8

def initialize(params, request, current_account: nil)
  @params = params
  @request = request
  @current_account = 
end

Instance Attribute Details

#current_accountObject (readonly)

Returns the value of attribute current_account.



6
7
8
# File 'lib/standard_id/oauth/base_request_flow.rb', line 6

def 
  @current_account
end

#paramsObject (readonly)

Returns the value of attribute params.



6
7
8
# File 'lib/standard_id/oauth/base_request_flow.rb', line 6

def params
  @params
end

#requestObject (readonly)

Returns the value of attribute request.



6
7
8
# File 'lib/standard_id/oauth/base_request_flow.rb', line 6

def request
  @request
end

Class Method Details

.expect_params(*keys) ⇒ Object



15
16
17
18
# File 'lib/standard_id/oauth/base_request_flow.rb', line 15

def expect_params(*keys)
  @expected_params ||= []
  @expected_params |= keys.flatten.map! { |k| k.to_sym }
end

.expected_paramsObject



25
26
27
# File 'lib/standard_id/oauth/base_request_flow.rb', line 25

def expected_params
  Array(@expected_params).dup
end

.extra_permitted_keysObject



37
38
39
# File 'lib/standard_id/oauth/base_request_flow.rb', line 37

def extra_permitted_keys
  []
end

.permit_params(*keys) ⇒ Object



20
21
22
23
# File 'lib/standard_id/oauth/base_request_flow.rb', line 20

def permit_params(*keys)
  @permitted_params ||= []
  @permitted_params |= keys.flatten.map! { |k| k.to_sym }
end

.permitted_paramsObject

Subclasses can append additional keys by overriding extra_permitted_keys



30
31
32
33
34
35
# File 'lib/standard_id/oauth/base_request_flow.rb', line 30

def permitted_params
  exp = expected_params
  perm = Array(@permitted_params)
  configured = (exp + perm + Array(extra_permitted_keys)).uniq
  configured
end