class JWT::Claims::Numeric
The numeric claims are: exp, iat and nbf
The Numeric class is responsible for validating numeric claims in a JWT token.
def validate_is_numeric(payload, claim)
def validate_is_numeric(payload, claim) return unless payload.is_a?(Hash) return unless payload.key?(claim) || payload.key?(claim.to_s) return if payload[claim].is_a?(::Numeric) || payload[claim.to_s].is_a?(::Numeric) raise InvalidPayload, "#{claim} claim must be a Numeric value but it is a #{(payload[claim] || payload[claim.to_s]).class}" end
def validate_numeric_claims(payload)
def validate_numeric_claims(payload) NUMERIC_CLAIMS.each do |claim| validate_is_numeric(payload, claim) end end
def verify!(context:)
-
(nil)
-
Raises:
-
(JWT::InvalidClaimError)
- if any numeric claim is invalid.
Parameters:
-
context
(Object
) -- the context containing the JWT payload.
def verify!(context:) validate_numeric_claims(context.payload) end