Class: StandardId::Api::AuthenticationGuard

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

Instance Method Summary collapse

Instance Method Details

#require_session!(session_manager) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/standard_id/api/authentication_guard.rb', line 4

def require_session!(session_manager)
  api_session = session_manager.current_session

  if api_session.blank?
    raise StandardId::NotAuthenticatedError, "Invalid or missing access token"
  elsif api_session.respond_to?(:expired?) && api_session.expired?
    raise StandardId::ExpiredSessionError, "Session has expired"
  elsif api_session.respond_to?(:revoked?) && api_session.revoked?
    session_manager.clear_session!
    raise StandardId::RevokedSessionError, "Session has been revoked"
  end

  api_session
end