Sha256: 15d3e943f18942f728c45878e4e47fceb9a36ac47d5511b53d6d62163a0401e8

Contents?: true

Size: 691 Bytes

Versions: 1

Compression:

Stored size: 691 Bytes

Contents

# frozen_string_literal: true

module JWT
  module JWK
    class KeyBase
      def self.inherited(klass)
        super
        ::JWT::JWK.classes << klass
      end

      def initialize(options)
        options ||= {}

        if options.is_a?(String) # For backwards compatibility when kid was a String
          options = { kid: options }
        end

        @kid           = options[:kid]
        @kid_generator = options[:kid_generator] || ::JWT.configuration.jwk.kid_generator
      end

      def kid
        @kid ||= generate_kid
      end

      private

      attr_reader :kid_generator

      def generate_kid
        kid_generator.new(self).generate
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jwt-2.5.0 lib/jwt/jwk/key_base.rb