OAuth from First Principles
Overall reception of the article
- Widely praised as one of the clearest OAuth explanations, especially for building up the “why” of each step and attack.
- Several readers say they recently learned OAuth the hard way and would now use this article as their primary reference.
- Diagrams and Silicon Valley references are appreciated, though mobile rendering was initially broken and then fixed.
- Some note a missing mention of certain extensions (e.g., JARM, client secret usage in one attack).
OAuth flows, static sites, and token storage
- Long subthread on whether to abandon the implicit flow for static sites, especially with AWS Cognito.
- Concerns about sending refresh tokens to the client and storing them in
localStorage; some prefer short-lived access tokens without refresh. - Others argue modern best practice is code + PKCE; implicit is largely seen as legacy but sometimes the only option without a backend.
- Suggested mitigations: shorter token lifetimes, revocation, in-memory storage, HTTP-only same-site cookies (when a server exists), and DPoP for token binding.
- Consensus that the “right” answer depends on explicit threat modeling; static-site-only setups remain constrained and somewhat unsatisfactory.
Vendors, libraries, and build-vs-buy for auth
- Multiple commercial and open-source auth providers are mentioned as alternatives to Cognito/Auth0, with varying feature sets and pricing.
- Some report negative experiences with certain libraries (e.g., poor error handling, insecure defaults, unstable APIs).
- Advice for new SaaS:
- Early stage: use a managed SaaS or framework-native library to move fast.
- Long term / complex setups: consider dedicated identity servers or rolling your own on top of solid libraries.
- Watch pricing and vendor lock-in; auth is very “sticky.”
Security standards, banking, and redirects
- Readers point to OAuth Security BCP, FAPI, and banking integrations as important related material.
- Discussion of Plaid and banks: historically credential-sharing; now more OAuth but uneven adoption.
- Deep dive on redirect URI security: strict registration vs more flexible schemes using URL-based client IDs; concerns about open redirects and how PKCE mitigates some risks.
Performance, UX, and user behavior
- Some complain OAuth-based login flows are slow in real-world enterprise setups (multiple domains, heavy JS, global latency, extra MFA hops).
- Others counter that well-implemented flows can be nearly instant; disagreement centers on “in principle” vs “at scale.”
- Skepticism that typical users reliably verify domains; password managers and SSO are seen as partial mitigations.
Open source and business model debate
- Debate over whether “open source Auth0” positioning is genuine or marketing.
- One side emphasizes FOSS-first, “Supabase-style” hosting-and-support models; the other argues traditional VC expectations (exits) conflict with community trust in long-term openness.