ReadonlyclientThe provider's client id.
Optional ReadonlyclientThe client secret. Required for client_secret_basic and
client_secret_post, forbidden with tokenEndpointAuth: 'none'.
Optional ReadonlyfailureRedirect here with a fixed ?error= code instead of answering 401. The
code is one of this plugin's own; a provider-supplied message is never
placed in the URL.
ReadonlyissuerThe issuer URL. Discovery reads <issuer>/.well-known/openid-configuration,
and the ID token's iss must equal this value exactly.
ReadonlykindDiscriminant.
ReadonlynameKebab-case name, used in the route paths (/auth/<name>/login).
ReadonlyredirectThe exact redirect URI sent to the provider. Its path must end with that
provider's callback path, <basePath>/<name>/callback, so the registered route and the value the provider
matches against cannot disagree.
Optional ReadonlyrpRP-initiated logout (plan §3.8). Without it, logout ends the local session only.
Optional ReadonlyidTokenHint?: trueStore the ID token at sign-in and send it as id_token_hint. Off by
default: an ID token routinely runs to kilobytes and would consume the
session cookie's budget. The README recommends the store strategy for it.
ReadonlypostLogoutRedirectUri: stringThe exact post_logout_redirect_uri registered with the provider.
Optional ReadonlyscopesRequested scopes. Defaults to ['openid'] for oidc and [] for oauth2.
Optional ReadonlytokenToken-endpoint authentication. Defaults to client_secret_basic when a secret is present, otherwise none.
OptionalonReceives the provider's tokens after a successful callback. Nothing stores them: this is the only way to keep one.
Maps the verified claims to a principal. For oidc these are the ID token
claims; for oauth2 the userinfoEndpoint response. Return null to
refuse the sign-in with 403.
sub is unique only within its issuer, so an application with more than one
identity source must namespace the id, exactly as
TrustedIssuer.toPrincipal requires.
An OpenID Connect provider: endpoints and keys come from discovery, and the callback verifies an ID token.
Since
0.8.0