Served by every instance at /.well-known/openid-configuration
(routes/well-known.ts), and read by another before it trusts it, starts a
sign-in on it or sends it an event. The names are OpenID Connect's, and the
gerbeur_ fields are this protocol's own.
issuer: string
The instance's public URL, an origin, which names it in every token.
authorization_endpoint: string
Its /authorize page, where a user lets another instance sign them in.
token_endpoint: string
POST /api/oauth/tokens, which trades a code for an identity token.
jwks_uri: string
GET /.well-known/jwks.json, its public keys.
response_types_supported: string[]
grant_types_supported: string[]
subject_types_supported: string[]
id_token_signing_alg_values_supported: string[]
code_challenge_methods_supported: string[]
scopes_supported: string[]
gerbeur_federation: number
gerbeur_site_name: string
The site's name, which a consent page and the peer list show.
gerbeur_redirect_uri: string
Where its home instance sends a user back once they consent, as a client:
its /federation/callback page, on its frontend.
gerbeur_events_endpoint: string
POST /api/federation/events, where it receives a home's events.
gerbeur_outgoing: boolean
Whether its users may sign in to other instances, so that a client
refuses at once to send them to its /authorize page, which would. An
instance that doesn't say lets them.