class Rails::Vault::JWT::KeyProvider
Public Class Methods
new(cache = nil)
click to toggle source
# File lib/rails/vault/jwt/key_provider.rb, line 10 def initialize(cache = nil) @cache = cache || Rails::Vault::JWT.config.cache end
Public Instance Methods
fetch_keys(issuer)
click to toggle source
# File lib/rails/vault/jwt/key_provider.rb, line 26 def fetch_keys(issuer) raw = Net::HTTP.get URI.parse("#{issuer}/.well-known/keys") JSON.parse raw, symbolize_names: true end
keys(issuer)
click to toggle source
# File lib/rails/vault/jwt/key_provider.rb, line 14 def keys(issuer) raise InvalidIssuer if JWT.config.valid_issuers.any? && !(JWT.config.valid_issuers.include? issuer) if @cache.respond_to?(:fetch) @cache.fetch("keys/#{issuer}", expires_in: 5.minutes) do fetch_keys issuer end else fetch_keys issuer end end