OAuth
OAuth (Open Authorization) is an open standard that allows a user to grant one application permission to interact with another application on their behalf, without sharing their password or private credentials. For example, it enables a third-party app to access a user's data from a service like Google without the user ever revealing their login details to that third-party app. Most modern implementations use OAuth 2.0, which is the current industry-standard version of the protocol.
OAuth is an open standard authorization framework and access delegation protocol that enables a client application to obtain scoped, delegated access to protected resources hosted by a resource server, acting on behalf of a resource owner, without requiring the resource owner to share their credentials with the client. OAuth 2.0, the dominant version in production use, defines multiple authorization grant flows (including Authorization Code, Client Credentials, Device Authorization, and Implicit, though Implicit is deprecated in current best practices) to accommodate varying client types such as web server applications, single-page applications, and native clients. The protocol issues access tokens, and optionally refresh tokens, to clients following user consent, with the scope of access constrained by the authorization server. OAuth 2.0 is focused strictly on authorization and access delegation; it does not itself define an authentication mechanism, though it is commonly extended by OpenID Connect (OIDC) to provide identity verification on top of the authorization layer.
Why it matters
OAuth addresses one of the most fundamental risks in modern application ecosystems: the need for applications to access user data or act on a user's behalf across service boundaries without requiring the user to hand over their password. Before delegation protocols like OAuth, users routinely shared credentials directly with third-party applications, creating broad exposure if any one of those applications was compromised. OAuth replaces that pattern with scoped, time-limited access tokens, so a third party receives only the minimum necessary permissions rather than full account access.
For application security practitioners, OAuth is a critical control point because its implementation complexity introduces meaningful attack surface. Misconfigured redirect URIs, improper state parameter validation, and confused authorization flows have been implicated in real-world token hijacking and account takeover incidents. The deprecation of the Implicit grant flow in current best practices reflects discovered weaknesses in how tokens were exposed in browser environments, illustrating that the protocol continues to evolve in response to identified threats.
OAuth also sits at the boundary between authorization and authentication, a distinction that matters practically. OAuth 2.0 itself does not verify identity; it delegates access. When developers treat an OAuth access token as proof of who a user is, rather than what the user has authorized, they typically introduce authentication logic errors. OpenID Connect was layered on top of OAuth 2.0 specifically to address this gap, and understanding where one ends and the other begins is essential for building secure integrations.
Who it's relevant to
Inside OAuth
Common questions
Answers to the questions practitioners most commonly ask about OAuth.