nango.dev
Why is OAuth still hard in 2026? | Nango Blog
## Problem 1: Complex OAuth standard > “This API also uses OAuth 2.0, and we already did that a few weeks ago. I should be done by tomorrow.” > – Famous last words from the intern OAuth is a very big standard. The OAuth 2.0’s official site currently lists 17 different RFCs (documents defining a standard) that together define how OAuth 2 works. They cover everything from the OAuth framework and Bearer tokens to threat models and private key JWTs. “But,” I hear you say, “surely not all of these RFCs are relevant for a simple third-party-access token authorization with an API?” You’re right. Let’s focus only on the things that are likely to be relevant for the typical API third-party-access use case: - OAuth standard: OAuth 2.0 is the default now, but OAuth 1.0a is still used by some (and 2.1 is around the corner). Once you know which one your API uses, move on to: - Grant type: Do you need … Most teams building public APIs seem to agree as well. Instead of implementing a full OAuth 2.0 subset, they just implement the parts of OAuth they think they need for their API’s use case. This leads to pretty long pages in docs outlining how OAuth works for this particular API. But we have a hard time blaming them; they have only the best intentions in mind for their DX. And if they truly tried to implement the full standard, you’d need to read a small book! … To be fair, many APIs are liberal and provide easy self-service signup flows for developers to register their apps and start using OAuth. But some of the most popular APIs out there require reviews before your app becomes public and can be used by any of their users. Again, to be fair, most review processes are sane and can be completed in a few days. They’re probably a net gain in terms of security and quality for end users. … ## Problem 6: Security is hard As attacks have been uncovered, and the available web technologies have evolved, the OAuth standard has changed as well. If you’re looking to implement the current security best practices, the OAuth working group has a rather lengthy guide for you. And if you’re working with an API that is still using OAuth 1.0a today, you realize that backwards compatibility is a never-ending struggle. Luckily, security is getting better with every iteration, but it often comes at the cost of more work for developers. The upcoming OAuth 2.1 standard will make some current best practices mandatory and includes mandatory PKCE (today only a handful of APIs require this) and additional restrictions for refresh tokens. The biggest change has probably been ushered in with expiring access tokens and the rise of refresh tokens. On the surface, the process seems simple: Whenever an access token expires, refresh it with the refresh token and store the new access token and refresh token.
Related Pain Points3件
Gemini API key approval stuck in black box for weeks
8Developers face indefinite approval delays (weeks or longer) for API key requests with opaque rejection messages providing no actionable feedback. The approval process lacks status updates, timelines, or clear requirements, causing developers to abandon Gemini for OpenAI or Anthropic.
OAuth security best practices enforcement and backward compatibility
7As security threats evolve, new best practices emerge (PKCE, expiring tokens, refresh token restrictions) but enforcement is inconsistent. OAuth 1.0a is still in use alongside 2.0, and upgrading security requirements breaks backward compatibility, forcing developers to support multiple outdated security models simultaneously.
Overwhelming OAuth 2.0 RFC complexity and fragmentation
7OAuth 2.0 is defined across 17 different RFCs covering OAuth framework, Bearer tokens, threat models, and private key JWTs. Developers must navigate this massive standard even for simple third-party-access use cases, and no two API providers implement the same subset consistently.