Generated by GPT-5-mini| OAuth2 | |
|---|---|
| Name | OAuth 2.0 |
| Developer | IETF Internet Engineering Task Force |
| Initial release | 2012 |
| Latest version | RFC 6749 and related RFCs |
| Type | Authorization framework |
| Website | IETF RFCs |
OAuth2
OAuth2 is an authorization framework that delegates access control between client applications, resource servers, and authorization servers to enable third-party access to protected resources. It separates roles played by resource owners and clients to issue scoped credentials that represent authorization rather than authentication, and it underpins a wide range of web, mobile, and API ecosystems. Major technology vendors and standards bodies integrate OAuth2 into identity stacks alongside OpenID Connect, SAML, and JSON Web Token ecosystems.
OAuth2 provides a standardized protocol for issuing limited-use tokens to clients so they can access resources on behalf of resource owners without sharing credentials with third parties. Implementations often involve Google, Microsoft, Facebook, Apple, and Amazon Web Services as identity or resource providers, and tools such as Kubernetes, Docker, GitHub, and GitLab that rely on delegated access. The framework is specified across multiple RFCs developed by the Internet Engineering Task Force and widely adopted by enterprises, cloud platforms, and mobile ecosystems including Android and iOS.
OAuth2 defines roles: resource owner, client, authorization server, and resource server; commonly seen in deployments by Okta, Auth0, Ping Identity, ForgeRock, and Keycloak. Tokens include access tokens and refresh tokens; token formats may be opaque or structured as JSON Web Token (JWT) with claims that reference identities in systems like Active Directory and LDAP. Authorization servers use endpoints (authorization, token, revocation, introspection) mapped in metadata and discovery documents compatible with OpenID Connect and RFC 8414 patterns. Clients vary from confidential server-side apps hosted on Amazon EC2, Microsoft Azure, and Google Cloud Platform to public single-page apps running in browsers and native apps distributed via Apple App Store or Google Play Store.
OAuth2 standardizes grant types: authorization code, implicit (deprecated in many contexts), resource owner password credentials (discouraged), and client credentials. The authorization code flow with PKCE is widely recommended, used in GitHub Actions, Stripe integrations, and mobile SDKs from Okta and Auth0. Client credentials are used by microservices and machine-to-machine interactions in environments such as Kubernetes clusters and HashiCorp Vault. Refresh tokens support long-lived sessions for providers like Slack, Zoom, and Dropbox through rotation and revocation mechanisms.
Security guidance responds to threats like token leakage, token replay, cross-site request forgery (CSRF), authorization code interception, and impersonation attacks that affected large platforms including Twitter and Yahoo! in historical incidents. Mitigations include use of PKCE, TLS, audience restriction, scope minimization, binding tokens via DPoP or MTLS, and token revocation as employed by Google Workspace and Microsoft 365. Security analysis references work by researchers associated with OWASP, NIST, and academic groups at Stanford University and University of California, Berkeley evaluating phishing-resistant flows and formal verification.
OAuth2 has numerous extensions and profiles: OpenID Connect for authentication, OAuth 2.1 consolidation work, RFCs for token introspection and revocation, and mechanisms such as mutual TLS (MTLS) and Demonstration of Proof-of-Possession (DPoP). Libraries and middleware exist across ecosystems: Spring Security, Express.js, Django, Ruby on Rails, ASP.NET Core, and client SDKs from Okta, Auth0, Azure AD and Google Identity Platform. Enterprise identity stacks integrate with SAML 2.0, LDAP, and Kerberos for federated single sign-on, and API gateways from Apigee, Kong, and AWS API Gateway implement token validation and rate limiting.
OAuth2 is extensively used across consumer platforms and enterprise services: social login by Facebook Login and Sign in with Apple, API access in Stripe, PayPal, and Square, and service accounts in Google Cloud Platform and Amazon Web Services IAM. Developer tooling and standards organizations like GitHub, Mozilla, and W3C promote best practices; academic and industry conferences such as RSA Conference and Black Hat discuss OAuth2 deployments and vulnerabilities. Large-scale deployments appear in financial open banking initiatives guided by PSD2 regulators and industry consortia including the FAPI working group.
OAuth2 evolved from the original OAuth 1.0a design, with development coordinated through the Internet Engineering Task Force and contributions by many vendors and researchers at Yahoo!, Twitter, Google, and Microsoft. The framework was formalized in RFC 6749 and extended by RFC 6750 (bearer tokens), RFC 7009 (revocation), RFC 7662 (introspection), and later work toward OAuth 2.1 consolidating lessons learned. Community efforts from IETF OAuth Working Group, industry players like Okta, Auth0, Ping Identity, and research contributions from institutions including MIT influenced additions such as PKCE, MTLS, and best-practice deprecations. Ongoing standardization continues via the IETF and related working groups addressing security profiles and mobile/browser flow improvements.
Category:Computer security protocols