class Keycloak::PublicKeyCachedResolver

Attributes

cached_public_key_retrieved_at[R]

Public Class Methods

from_configuration(http_client, configuration) click to toggle source
# File lib/keycloak-api-rails/public_key_cached_resolver.rb, line 12
def self.from_configuration(http_client, configuration)
  PublicKeyCachedResolver.new(http_client, configuration.realm_id, configuration.public_key_cache_ttl)
end
new(http_client, realm_id, public_key_cache_ttl) click to toggle source
# File lib/keycloak-api-rails/public_key_cached_resolver.rb, line 5
def initialize(http_client, realm_id, public_key_cache_ttl)
  @resolver                       = PublicKeyResolver.new(http_client, realm_id)
  @public_key_cache_ttl           = public_key_cache_ttl
  @cached_public_keys             = nil
  @cached_public_key_retrieved_at = nil
end

Public Instance Methods

find_public_keys() click to toggle source
# File lib/keycloak-api-rails/public_key_cached_resolver.rb, line 16
def find_public_keys
  if public_keys_are_outdated?
    @cached_public_keys             = @resolver.find_public_keys
    @cached_public_key_retrieved_at = Time.now
  end
  @cached_public_keys
end

Private Instance Methods

public_keys_are_outdated?() click to toggle source
# File lib/keycloak-api-rails/public_key_cached_resolver.rb, line 26
def public_keys_are_outdated?
  @cached_public_keys.nil? || @cached_public_key_retrieved_at.nil? || Time.now > (@cached_public_key_retrieved_at + @public_key_cache_ttl.seconds)
end