class JWT::Claims::Required
The Required
class is responsible for validating that all required claims are present in a JWT
token.
Attributes
required_claims[R]
Public Class Methods
new(required_claims:)
click to toggle source
Initializes a new Required
instance.
@param required_claims
[Array<String>] the list of required claims.
# File lib/jwt/claims/required.rb, line 10 def initialize(required_claims:) @required_claims = required_claims end
Public Instance Methods
verify!(context:, **_args)
click to toggle source
Verifies that all required claims are present in the JWT
payload.
@param context [Object] the context containing the JWT
payload. @param _args [Hash] additional arguments (not used). @raise [JWT::MissingRequiredClaim] if any required claim is missing. @return [nil]
# File lib/jwt/claims/required.rb, line 20 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