Module: OmniauthOpenidFederation::Cache

Defined in:
lib/omniauth_openid_federation/cache.rb

Class Method Summary collapse

Class Method Details

.delete_jwks(jwks_uri) ⇒ Object

Delete JWKS cache

Parameters:

  • jwks_uri (String)

    The JWKS URI



42
43
44
45
# File 'lib/omniauth_openid_federation/cache.rb', line 42

def self.delete_jwks(jwks_uri)
  return unless CacheAdapter.available?
  CacheAdapter.delete(key_for_jwks(jwks_uri))
end

.delete_signed_jwks(signed_jwks_uri) ⇒ Object

Delete signed JWKS cache

Parameters:

  • signed_jwks_uri (String)

    The signed JWKS URI



50
51
52
53
# File 'lib/omniauth_openid_federation/cache.rb', line 50

def self.delete_signed_jwks(signed_jwks_uri)
  return unless CacheAdapter.available?
  CacheAdapter.delete(key_for_signed_jwks(signed_jwks_uri))
end

.key_for_jwks(jwks_uri) ⇒ String

Generate cache key for JWKS

Parameters:

  • jwks_uri (String)

    The JWKS URI

Returns:

  • (String)

    Cache key



11
12
13
# File 'lib/omniauth_openid_federation/cache.rb', line 11

def self.key_for_jwks(jwks_uri)
  "omniauth_openid_federation:jwks:#{Digest::SHA256.hexdigest(jwks_uri)}"
end

.key_for_served_jwks(issuer) ⇒ String

Generate cache key for locally served JWKS (federation endpoint)

Parameters:

  • issuer (String)

    Federation endpoint issuer entity identifier

Returns:

  • (String)

    Cache key



27
28
29
# File 'lib/omniauth_openid_federation/cache.rb', line 27

def self.key_for_served_jwks(issuer)
  "federation:jwks:#{Digest::SHA256.hexdigest(issuer)}"
end

.key_for_served_signed_jwks(issuer) ⇒ String

Generate cache key for locally served signed JWKS (federation endpoint)

Parameters:

  • issuer (String)

    Federation endpoint issuer entity identifier

Returns:

  • (String)

    Cache key



35
36
37
# File 'lib/omniauth_openid_federation/cache.rb', line 35

def self.key_for_served_signed_jwks(issuer)
  "federation:signed_jwks:#{Digest::SHA256.hexdigest(issuer)}"
end

.key_for_signed_jwks(signed_jwks_uri) ⇒ String

Generate cache key for signed JWKS

Parameters:

  • signed_jwks_uri (String)

    The signed JWKS URI

Returns:

  • (String)

    Cache key



19
20
21
# File 'lib/omniauth_openid_federation/cache.rb', line 19

def self.key_for_signed_jwks(signed_jwks_uri)
  "omniauth_openid_federation:signed_jwks:#{Digest::SHA256.hexdigest(signed_jwks_uri)}"
end