Class: StandardId::Web::AuthenticationGuard

Inherits:
Object
  • Object
show all
Defined in:
lib/standard_id/web/authentication_guard.rb

Instance Method Summary collapse

Instance Method Details

#require_session!(session_manager, session:, request:) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/standard_id/web/authentication_guard.rb', line 4

def require_session!(session_manager, session:, request:)
  session[:return_to_after_authenticating] = request.url

  browser_session = session_manager.current_session
  emit_session_validating(browser_session, request)

  if browser_session.blank?
    raise StandardId::NotAuthenticatedError
  elsif browser_session.expired?
    emit_session_expired(browser_session)
    session_manager.clear_session!
    raise StandardId::ExpiredSessionError
  elsif browser_session.revoked?
    session_manager.clear_session!
    raise StandardId::RevokedSessionError
  end

  emit_session_validated(browser_session)
  browser_session
end