Class: FastComments::SSO::FastCommentsSSO
- Inherits:
-
Object
- Object
- FastComments::SSO::FastCommentsSSO
- Defined in:
- lib/fastcomments/sso/fastcomments_sso.rb
Instance Attribute Summary collapse
-
#cached_token ⇒ Object
readonly
Returns the value of attribute cached_token.
-
#login_url ⇒ Object
Returns the value of attribute login_url.
-
#logout_url ⇒ Object
Returns the value of attribute logout_url.
-
#secure_sso_payload ⇒ Object
Returns the value of attribute secure_sso_payload.
-
#simple_sso_user_data ⇒ Object
Returns the value of attribute simple_sso_user_data.
Class Method Summary collapse
- .new_secure(api_key, secure_sso_user_data) ⇒ Object
- .new_secure_with_urls(secure_sso_payload, login_url, logout_url) ⇒ Object
- .new_simple(simple_sso_user_data) ⇒ Object
Instance Method Summary collapse
- #create_token ⇒ Object
-
#initialize(secure_sso_payload: nil, simple_sso_user_data: nil, login_url: nil, logout_url: nil) ⇒ FastCommentsSSO
constructor
A new instance of FastCommentsSSO.
- #prepare_to_send ⇒ Object
- #reset_token ⇒ Object
- #set_secure_sso_payload(secure_sso_payload) ⇒ Object
- #set_simple_sso_user_data(simple_sso_user_data) ⇒ Object
Constructor Details
#initialize(secure_sso_payload: nil, simple_sso_user_data: nil, login_url: nil, logout_url: nil) ⇒ FastCommentsSSO
Returns a new instance of FastCommentsSSO.
12 13 14 15 16 17 18 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 12 def initialize(secure_sso_payload: nil, simple_sso_user_data: nil, login_url: nil, logout_url: nil) @secure_sso_payload = secure_sso_payload @simple_sso_user_data = simple_sso_user_data @login_url = login_url @logout_url = logout_url @cached_token = nil end |
Instance Attribute Details
#cached_token ⇒ Object (readonly)
Returns the value of attribute cached_token.
10 11 12 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 10 def cached_token @cached_token end |
#login_url ⇒ Object
Returns the value of attribute login_url.
9 10 11 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 9 def login_url @login_url end |
#logout_url ⇒ Object
Returns the value of attribute logout_url.
9 10 11 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 9 def logout_url @logout_url end |
#secure_sso_payload ⇒ Object
Returns the value of attribute secure_sso_payload.
9 10 11 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 9 def secure_sso_payload @secure_sso_payload end |
#simple_sso_user_data ⇒ Object
Returns the value of attribute simple_sso_user_data.
9 10 11 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 9 def simple_sso_user_data @simple_sso_user_data end |
Class Method Details
.new_secure(api_key, secure_sso_user_data) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 20 def self.new_secure(api_key, secure_sso_user_data) = Time.now.to_i user_data_str = secure_sso_user_data.as_json_base64 hash = Helpers.create_verification_hash(api_key, , user_data_str) payload = SecureSSOPayload.new( user_data_json_base64: user_data_str, verification_hash: hash, timestamp: ) new(secure_sso_payload: payload) end |
.new_secure_with_urls(secure_sso_payload, login_url, logout_url) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 39 def self.new_secure_with_urls(secure_sso_payload, login_url, logout_url) new( secure_sso_payload: secure_sso_payload, login_url: login_url, logout_url: logout_url ) end |
.new_simple(simple_sso_user_data) ⇒ Object
35 36 37 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 35 def self.new_simple(simple_sso_user_data) new(simple_sso_user_data: simple_sso_user_data) end |
Instance Method Details
#create_token ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 47 def create_token if @secure_sso_payload @secure_sso_payload.to_json elsif @simple_sso_user_data @simple_sso_user_data.to_json else raise StandardError, 'No user data provided' end end |
#prepare_to_send ⇒ Object
61 62 63 64 65 66 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 61 def prepare_to_send return @cached_token if @cached_token @cached_token = create_token @cached_token end |
#reset_token ⇒ Object
57 58 59 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 57 def reset_token @cached_token = nil end |
#set_secure_sso_payload(secure_sso_payload) ⇒ Object
68 69 70 71 72 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 68 def set_secure_sso_payload(secure_sso_payload) @secure_sso_payload = secure_sso_payload @simple_sso_user_data = nil reset_token end |
#set_simple_sso_user_data(simple_sso_user_data) ⇒ Object
74 75 76 77 78 |
# File 'lib/fastcomments/sso/fastcomments_sso.rb', line 74 def set_simple_sso_user_data(simple_sso_user_data) @simple_sso_user_data = simple_sso_user_data @secure_sso_payload = nil reset_token end |