Class: CASino::TwoFactorAuthenticatorRegistratorProcessor
- Includes:
- ProcessorConcern::TicketGrantingTickets
- Defined in:
- app/processors/casino/two_factor_authenticator_registrator_processor.rb
Overview
The TwoFactorAuthenticatorRegistrator processor can be used as the first step to register a new two-factor authenticator. It is inactive until activated using TwoFactorAuthenticatorActivator.
This feature is not described in the CAS specification so it’s completly optional to implement this on the web application side.
Instance Method Summary collapse
-
#process(cookies = nil, user_agent = nil) ⇒ Object
This method will call ‘#user_not_logged_in` or `#two_factor_authenticator_registered(two_factor_authenticator)` on the listener.
Methods included from ProcessorConcern::TicketGrantingTickets
#acquire_ticket_granting_ticket, #cleanup_expired_ticket_granting_tickets, #find_valid_ticket_granting_ticket, #load_or_initialize_user, #remove_ticket_granting_ticket
Methods included from ProcessorConcern::Browser
Methods inherited from Processor
Constructor Details
This class inherits a constructor from CASino::Processor
Instance Method Details
#process(cookies = nil, user_agent = nil) ⇒ Object
This method will call ‘#user_not_logged_in` or `#two_factor_authenticator_registered(two_factor_authenticator)` on the listener.
14 15 16 17 18 19 20 21 22 23 |
# File 'app/processors/casino/two_factor_authenticator_registrator_processor.rb', line 14 def process( = nil, user_agent = nil) ||= {} tgt = find_valid_ticket_granting_ticket([:tgt], user_agent) if tgt.nil? @listener.user_not_logged_in else two_factor_authenticator = tgt.user.two_factor_authenticators.create! secret: ROTP::Base32.random_base32 @listener.two_factor_authenticator_registered(two_factor_authenticator) end end |