NoWayJose.KeyStore (NoWayJose v1.0.2)
View SourceETS-backed storage for cryptographic keys.
Keys are stored by namespace and key ID, allowing multiple key sets to be managed (e.g., one per JWKS endpoint, one for local signing keys).
Usage
# Store keys from a JWKS fetcher
NoWayJose.KeyStore.put("auth0", keys)
# Lookup a specific key
{:ok, key} = NoWayJose.KeyStore.get("auth0", "key-id-1")
# Get all keys for a namespace
keys = NoWayJose.KeyStore.get_all("auth0")
Summary
Functions
Returns the number of keys stored for a namespace.
Deletes all keys for a namespace.
Deletes a specific key.
Retrieves a key by namespace and key ID.
Retrieves all keys for a namespace.
Stores multiple keys for a namespace.
Stores a single key for a namespace.
Functions
@spec count(String.t()) :: non_neg_integer()
Returns the number of keys stored for a namespace.
@spec delete(String.t()) :: :ok
Deletes all keys for a namespace.
Deletes a specific key.
@spec get(String.t(), String.t() | nil) :: {:ok, NoWayJose.Key.t()} | :error
Retrieves a key by namespace and key ID.
@spec get_all(String.t()) :: [NoWayJose.Key.t()]
Retrieves all keys for a namespace.
@spec put(String.t(), [NoWayJose.Key.t()]) :: :ok
Stores multiple keys for a namespace.
Replaces all existing keys for the namespace.
@spec put_key(String.t(), NoWayJose.Key.t()) :: :ok
Stores a single key for a namespace.