Module: RobustServerSocket::Modules::ReplayAttackProtection

Defined in:
lib/robust_server_socket/modules/replay_attack_protection.rb

Constant Summary collapse

UsedToken =
Class.new(StandardError)
StaleToken =
Class.new(StandardError)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(_base) ⇒ Object



11
12
13
14
# File 'lib/robust_server_socket/modules/replay_attack_protection.rb', line 11

def self.included(_base)
  RobustServerSocket._push_modules_check_code('atomic_validate_and_log_token')
  RobustServerSocket._push_bang_modules_check_code("atomic_validate_and_log_token!\n")
end

Instance Method Details

#atomic_validate_and_log_tokenObject



23
24
25
26
27
28
29
30
# File 'lib/robust_server_socket/modules/replay_attack_protection.rb', line 23

def atomic_validate_and_log_token
  Cacher.atomic_validate_and_log(
    decrypted_token,
    store_used_token_time,
    timestamp,
    token_expiration_time
  ) == 'ok'
end

#atomic_validate_and_log_token!Object



16
17
18
19
20
21
# File 'lib/robust_server_socket/modules/replay_attack_protection.rb', line 16

def atomic_validate_and_log_token!
  result = Cacher.atomic_validate_and_log(
    decrypted_token, store_used_token_time, timestamp, token_expiration_time
  )
  handle_validation_result!(result)
end