class JWT::Claims::Required

The Required class is responsible for validating that all required claims are present in a JWT token.

def initialize(required_claims:)

Parameters:
  • required_claims (Array) -- the list of required claims.
def initialize(required_claims:)
  @required_claims = required_claims
end

def verify!(context:, **_args)

Returns:
  • (nil) -

Raises:
  • (JWT::MissingRequiredClaim) - if any required claim is missing.

Parameters:
  • _args (Hash) -- additional arguments (not used).
  • context (Object) -- the context containing the JWT payload.
def verify!(context:, **_args)
  required_claims.each do |required_claim|
    next if context.payload.is_a?(Hash) && context.payload.key?(required_claim)
    raise JWT::MissingRequiredClaim, "Missing required claim #{required_claim}"
  end
end