An authentication provider's API is on the critical path of thousands of applications. What does that dependency position demand architecturally?
Show the full answer Hide the answer
The position
Every one of your customers' outages caused by you is an outage for all of their users. An authentication provider's availability is the ceiling on the availability of every application that depends on it, and unlike most dependencies it usually sits on the very first request of every session.
That changes what "good enough" means, and it changes what the API must offer.
What the architecture must provide
- Verification without a network call. Signed tokens the application validates locally, using a public key it has cached, are the single most important design decision — it removes the provider from the request path for the overwhelming majority of requests. A design requiring a remote check per request makes the provider a hard dependency of everything.
- Key rotation that clients handle automatically, with an overlap window and a published key set. Rotation is the operation most likely to cause a mass outage, so it must be routine and rehearsed rather than exceptional.
- A revocation path with a short, published propagation time, since local validation means a revoked session remains valid until its token expires. The token lifetime is therefore the revocation SLA, and that trade must be stated rather than discovered.
- Static stability in the data plane: session validation and token refresh must survive a control-plane outage, so administrative functions failing does not stop logins.
- Per-tenant isolation and quotas, so one customer's traffic spike or misconfigured retry loop cannot degrade others.
- Graceful degradation guidance for customers: what should their application do when you are unreachable? A provider that has not answered this has left thousands of teams to invent an answer, and most will fail closed at the worst moment.
The compatibility obligation
Thousands of integrations on many SDK versions means breaking changes are effectively impossible. Additive change is the only safe mode, deprecation requires long horizons and per-version usage telemetry, and any change to token format or validation behaviour must be treated as a migration programme rather than a release.
The uncomfortable truth to state
Your customers' architectures should not fully trust you. The mature provider actively documents how to cache, how long tokens remain valid, and what to do during an outage — because a customer who has built a fallback is a customer who does not experience your incident as their outage. Encouraging that is a product decision that reduces your own blast radius.