Keeps the instance's Ed25519 key, which signs what it tells other instances
in federated sign-in: the identity tokens of identity-provider-service.ts
and the events of its outbox. The key is made the first time it's needed
and stored in federation_keys, so it survives restarts; other instances
fetch its public half from GET /.well-known/jwks.json.
f
getPublicKeys(): Promise<JSONWebKeySet>
Returns the public halves of every stored key, for
GET /.well-known/jwks.json. It makes the first key when there is none, so
that the set is never empty.
f
getSigningKey(): Promise<InstanceSigningKey>
Returns the key the instance signs with now: the newest stored, or a new one, stored, when there is none.
f
resetSigningKey(): void
Forgets the loaded key, for the tests, which wipe the table between cases.
Usage
import * as mod from "api/services/instance-key-service.ts";