Last updated: 2026-03-29
This guide is for application developers integrating with an MrWhoOidc deployment.
Single-tenant style:
https://auth.example.com
Tenant-scoped style:
https://auth.example.com/t/acme
The tenant-scoped issuer is the most important pattern to keep in mind when multi-tenancy is active.
| Endpoint | Purpose |
|---|---|
/.well-known/openid-configuration |
discovery document |
/authorize |
interactive authorization endpoint |
/token |
token issuance |
/userinfo |
user claims |
/jwks |
signing keys |
/revocation |
token revocation |
/introspect |
token introspection |
/par |
pushed authorization requests |
/device |
device authorization verification UX |
/device-authorization |
device authorization grant initiation |
/backchannel-authentication |
CIBA initiation |
/logout |
logout |
Tenant-scoped deployments expose the same endpoints below /t/{slug}.
This remains the recommended default for interactive browser and server-side web apps.
If the server advertises PAR, public and confidential clients can push the request first and then call /authorize with the returned request_uri.
MrWhoOidc supports token exchange for on-behalf-of scenarios. In practice, the pattern is:
See the sample API in ../demos/obo-demo-api.
/parrequestquery.jwt are supported for clients that opt inSee advanced-flows-guide.md for the current operational notes.
DPoP can be used for token requests and APIs that require proof-of-possession semantics.
Practical guidance:
MrWhoOidc now supports non-browser and decoupled authentication flows:
See advanced-flows-guide.md for current public guidance.
MrWhoOidc supports front-channel and back-channel logout patterns. Back-channel logout notifications are delivered through a durable outbox/background dispatcher model.
.NET client package READMEdemos/dotnet-mvc-client/README.mddemos/react-client/README.mddemos/go-client/README.mdmrwho-cli-guide.md