Class: Foobara::Auth::Logout
- Defined in:
- foobara-auth-0.0.9/src/logout.rb
Defined Under Namespace
Classes: InvalidRefreshTokenError
Constant Summary
Constants included from TruncatedInspect
Instance Attribute Summary collapse
-
#refresh_token_id ⇒ Object
Returns the value of attribute refresh_token_id.
-
#refresh_token_record ⇒ Object
Returns the value of attribute refresh_token_record.
-
#refresh_token_secret ⇒ Object
Returns the value of attribute refresh_token_secret.
Attributes included from CommandPatternImplementation::Concerns::Subcommands
Attributes included from CommandPatternImplementation::Concerns::Runtime
Attributes included from CommandPatternImplementation::Concerns::Errors
Attributes included from CommandPatternImplementation::Concerns::Inputs
Instance Method Summary collapse
- #determine_refresh_token_id_and_secret ⇒ Object
- #execute ⇒ Object
- #load_refresh_token_record ⇒ Object
- #mark_refresh_token_as_used ⇒ Object
- #refresh_token? ⇒ Boolean
- #verify_refresh_token ⇒ Object
Methods inherited from Command
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Methods included from CommandPatternImplementation::Concerns::Reflection
Methods included from CommandPatternImplementation::Concerns::DomainMappers
#domain_map, #domain_map!, #run_mapped_subcommand!
Methods included from CommandPatternImplementation::Concerns::Subcommands
#run_subcommand!, #subcommand?
Methods included from CommandPatternImplementation::Concerns::Entities
Methods included from CommandPatternImplementation::Concerns::Transactions
#auto_detect_current_transactions, #commit_transaction, #open_transaction, #opened_transactions, #relevant_entity_classes, #rollback_transaction, #transactions
Methods included from CommandPatternImplementation::Concerns::StateMachine
Methods included from CommandPatternImplementation::Concerns::Runtime
#halt!, #run, #run!, #run_execute, #succeed, #success?, #validate, #validate_records
Methods included from CommandPatternImplementation::Concerns::Errors
Methods included from CommandPatternImplementation::Concerns::Inputs
#cast_and_validate_inputs, #initialize, #method_missing, #respond_to_missing?, #respond_to_missing_for_inputs?
Methods included from TruncatedInspect
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Foobara::CommandPatternImplementation::Concerns::Inputs
Instance Attribute Details
#refresh_token_id ⇒ Object
Returns the value of attribute refresh_token_id.
32 33 34 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 32 def refresh_token_id @refresh_token_id end |
#refresh_token_record ⇒ Object
Returns the value of attribute refresh_token_record.
32 33 34 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 32 def refresh_token_record @refresh_token_record end |
#refresh_token_secret ⇒ Object
Returns the value of attribute refresh_token_secret.
32 33 34 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 32 def refresh_token_secret @refresh_token_secret end |
Instance Method Details
#determine_refresh_token_id_and_secret ⇒ Object
38 39 40 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 38 def determine_refresh_token_id_and_secret self.refresh_token_id, self.refresh_token_secret = refresh_token.split("_") end |
#execute ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 20 def execute if refresh_token? determine_refresh_token_id_and_secret load_refresh_token_record verify_refresh_token # Delete it instead maybe? mark_refresh_token_as_used end nil end |
#load_refresh_token_record ⇒ Object
42 43 44 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 42 def load_refresh_token_record self.refresh_token_record = Types::Token.load(refresh_token_id) end |
#mark_refresh_token_as_used ⇒ Object
56 57 58 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 56 def mark_refresh_token_as_used refresh_token_record.use_up! end |
#refresh_token? ⇒ Boolean
34 35 36 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 34 def refresh_token? !!refresh_token end |
#verify_refresh_token ⇒ Object
46 47 48 49 50 51 52 53 54 |
# File 'foobara-auth-0.0.9/src/logout.rb', line 46 def verify_refresh_token valid = run_subcommand!(VerifyToken, token_string: refresh_token) unless valid[:verified] # :nocov: add_runtime_error(InvalidRefreshTokenError.new(context: { refresh_token_id: })) # :nocov: end end |