Module: JWT::Aws::KMS

Defined in:
lib/jwt/aws/kms.rb,
lib/jwt/aws/kms/version.rb,
lib/jwt/aws/kms/hmac_key.rb,
lib/jwt/aws/kms/sign_verify_key.rb

Overview

:nodoc:

Defined Under Namespace

Classes: HmacKey, SignVerifyKey

Constant Summary collapse

VERSION =
"1.1.0"

Class Method Summary collapse

Class Method Details

.clientObject



15
16
17
# File 'lib/jwt/aws/kms.rb', line 15

def self.client
  @client ||= ::Aws::KMS::Client.new
end

.for(algorithm:) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/jwt/aws/kms.rb', line 19

def self.for(algorithm:)
  if HmacKey::MAPPINGS.key?(algorithm)
    HmacKey
  elsif SignVerifyKey::MAPPINGS.key?(algorithm)
    SignVerifyKey
  else
    raise ArgumentError, "Algorithm #{algorithm} not supported"
  end.new(algorithm: algorithm)
end

.replace_defaults!Object



29
30
31
32
33
34
35
# File 'lib/jwt/aws/kms.rb', line 29

def self.replace_defaults!
  [HmacKey, SignVerifyKey].each do |type|
    type::MAPPINGS.each_key do |algorithm|
      type.register_algorithm(type.new(algorithm: algorithm))
    end
  end
end