class JWT::Claims::JwtId

Attributes

validator[R]

Public Class Methods

new(validator:) click to toggle source
# File lib/jwt/claims/jwt_id.rb, line 6
def initialize(validator:)
  @validator = validator
end

Public Instance Methods

verify!(context:, **_args) click to toggle source
# File lib/jwt/claims/jwt_id.rb, line 10
def verify!(context:, **_args)
  jti = context.payload['jti']
  if validator.respond_to?(:call)
    verified = validator.arity == 2 ? validator.call(jti, context.payload) : validator.call(jti)
    raise(JWT::InvalidJtiError, 'Invalid jti') unless verified
  elsif jti.to_s.strip.empty?
    raise(JWT::InvalidJtiError, 'Missing jti')
  end
end