Skip to main content
tai42-identity-oidc lets machines authenticate with a JWT your identity provider already issues, rather than with an API key the runtime minted. It is a user type source for access control: it verifies a presented token and resolves it to a user id, and the policy attached to that id decides what the call may reach.
This provider verifies tokens; it never issues them. There is no authorization-code flow, no client id or secret, and no key-minting surface here. Your issuer mints tokens; the runtime checks them. For human sign-in, see Accounts.

Install and register it

manifest.yml
The provider registers itself under the name identity-oidc, which is the value ACCESS_CONTROL_AUTH_PROVIDERS selects. Listing redis alongside it keeps minted API keys working next to issuer-signed JWTs.

Configure the issuer

The issuer must publish standard discovery metadata and a JWKS endpoint. Startup fetches both, so a misconfigured issuer fails at boot rather than on the first call.

Write the policy

A verified token resolves to the user id idp:{issuer}:{claim value}. Nothing is provisioned automatically: until a policy exists for that exact id, every protected route denies the call.
Write the policy for the id shape your issuer produces — the access-control guide walks the jq policy end to end — then hand the client a token and point it at the server. The owner_user_id claim is stripped from the claims the runtime keeps, so it cannot be used to escalate.

See also