Class: JWT::Claims::Expiration

Inherits:
Object
  • Object
show all
Defined in:
lib/jwt/claims/expiration.rb

Instance Method Summary collapse

Constructor Details

#initialize(leeway:) ⇒ Expiration

Returns a new instance of Expiration.



6
7
8
# File 'lib/jwt/claims/expiration.rb', line 6

def initialize(leeway:)
  @leeway = leeway || 0
end

Instance Method Details

#verify!(context:, **_args) ⇒ Object



10
11
12
13
14
15
# File 'lib/jwt/claims/expiration.rb', line 10

def verify!(context:, **_args)
  return unless context.payload.is_a?(Hash)
  return unless context.payload.key?('exp')

  raise JWT::ExpiredSignature, 'Signature has expired' if context.payload['exp'].to_i <= (Time.now.to_i - leeway)
end