Class: RailsBase::Authentication::SingleSignOnVerify
- Inherits:
-
ServiceBase
- Object
- ServiceBase
- RailsBase::Authentication::SingleSignOnVerify
show all
- Defined in:
- app/services/rails_base/authentication/single_sign_on_verify.rb
Instance Method Summary
collapse
Methods inherited from ServiceBase
inherited, #internal_validate, #service_base_logging
#aletered_message, #class_name, #log, #log_prefix, #logger, #service_id
Instance Method Details
#call ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'app/services/rails_base/authentication/single_sign_on_verify.rb', line 7
def call
datum = find_data_point
context.data = datum
if bypass
context.should_fail = !datum[:valid]
context.url_redirect = datum[:extra] || RailsBase.url_routes.authenticated_root_path
log(level: :info, msg: "sending full data point. bypass set to true")
return
end
context.sign_in = false
if datum[:valid]
context.sign_in = true
context.url_redirect = datum[:extra] || RailsBase.url_routes.authenticated_root_path
context.user = datum[:user]
else
context.url_redirect = datum[:extra] || RailsBase.url_routes.unauthenticated_root_path
context.fail!(message: "Authorization token error: #{datum[:invalid_reason].join(',')}")
end
end
|
#find_data_point ⇒ Object
28
29
30
31
32
33
34
35
|
# File 'app/services/rails_base/authentication/single_sign_on_verify.rb', line 28
def find_data_point
params = {
data: data,
reason: reason,
access_count: !(bypass || false)
}
ShortLivedData.find_datum(**params)
end
|
#validate! ⇒ Object
37
38
39
40
|
# File 'app/services/rails_base/authentication/single_sign_on_verify.rb', line 37
def validate!
raise "Expected data to be a String. Received #{data.class}" unless data.is_a? String
raise "Expected reason to be a String. Received #{reason.class}" unless reason.is_a? String
end
|