module JWT::Claims::Verifier

@private

Constants

VERIFIERS

Public Class Methods

errors(context, *options) click to toggle source

@private

# File lib/jwt/claims/verifier.rb, line 32
def errors(context, *options)
  errors = []
  iterate_verifiers(*options) do |verifier, verifier_options|
    verify_one!(context, verifier, verifier_options)
  rescue ::JWT::DecodeError => e
    errors << Error.new(message: e.message)
  end
  errors
end
iterate_verifiers(*options) { |key, element| ... } click to toggle source

@private

# File lib/jwt/claims/verifier.rb, line 43
def iterate_verifiers(*options)
  options.each do |element|
    if element.is_a?(Hash)
      element.each_key { |key| yield(key, element) }
    else
      yield(element, {})
    end
  end
end
verify!(context, *options) click to toggle source

@private

# File lib/jwt/claims/verifier.rb, line 24
def verify!(context, *options)
  iterate_verifiers(*options) do |verifier, verifier_options|
    verify_one!(context, verifier, verifier_options)
  end
  nil
end

Private Class Methods

verify_one!(context, verifier, options) click to toggle source
# File lib/jwt/claims/verifier.rb, line 55
def verify_one!(context, verifier, options)
  verifier_builder = VERIFIERS.fetch(verifier) { raise ArgumentError, "#{verifier} not a valid claim verifier" }
  verifier_builder.call(options || {}).verify!(context: context)
end