Sha256: 88bfba722b9abb96e739629609acf3dae76838029ba1868a6349aeb067666c08
Contents?: true
Size: 684 Bytes
Versions: 4
Compression:
Stored size: 684 Bytes
Contents
# frozen_string_literal: true require_relative 'error' module JWT class ClaimsValidator NUMERIC_CLAIMS = %i[ exp iat nbf ].freeze def initialize(payload) @payload = payload.transform_keys(&:to_sym) end def validate! validate_numeric_claims true end private def validate_numeric_claims NUMERIC_CLAIMS.each do |claim| validate_is_numeric(claim) if @payload.key?(claim) end end def validate_is_numeric(claim) return if @payload[claim].is_a?(Numeric) raise InvalidPayload, "#{claim} claim must be a Numeric value but it is a #{@payload[claim].class}" end end end
Version data entries
4 entries across 4 versions & 2 rubygems