Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk5 min

OAuth “By the Book” Doesn’t Mean Secure: What Standards Compliance Misses

OAuth standards define important security requirements, but a secure deployment also depends on correct implementation, token handling, and browser architecture.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Following OAuth standards is essential, but it does not prove an application is secure. Standards set protocol requirements and describe threats and mitigations; security also depends on selecting the right controls, implementing them correctly, and checking them against the application’s architecture and threat model. The IETF’s RFC 9700, published in January 2025, is the Best Current Practice for OAuth 2.0 security. RFC 10017, published in August 2026, adds guidance focused on browser-based applications.

What does OAuth standards compliance establish?

Compliance establishes that an implementation follows applicable protocol rules; it is a baseline, not a blanket security verdict. The rules only help when the application chooses and enforces the controls that fit its clients, authorization servers, token handling, and deployment architecture.

As an Amazon Associate I earn from qualifying purchases.

RFC 9700 updates earlier OAuth security advice in light of practical experience and newer threats, and deprecates modes considered less secure or insecure. Its authors make clear that PKCE is not only for native apps: “Although PKCE was designed as a mechanism to protect native apps, this advice applies to all kinds of OAuth clients, including web applications.” That guidance is from the RFC’s authors in Best Current Practice for OAuth 2.0 Security (IETF, January 2025).

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The normative terms in an RFC matter: MUST, SHOULD, and MAY express different levels of requirement. A sound review preserves the condition attached to each recommendation rather than treating all guidance as optional—or turning every recommendation into an unconditional rule.

Which implementation details make a difference?

Redirect URIs must be tightly matched

A redirect URI is a security boundary: authorization responses are sent to it, so accepting an unintended destination can expose a code or token. RFC 9700 says authorization servers MUST use exact string matching against registered redirect URIs, with a limited exception for port numbers in localhost redirects for native apps. Clients and authorization servers MUST NOT expose open redirectors that could be used to send responses elsewhere. See RFC 9700.

PKCE must protect the actual authorization transaction

Public clients MUST use PKCE; confidential clients are RECOMMENDED to use it. The PKCE values need to be transaction-specific and securely bound to the client and user agent. RFC 9700 identifies S256 as the method that does not expose the verifier in the authorization request. RFC 10017 likewise says browser-based applications should use authorization code with PKCE.

Support for PKCE is not proof that the protection is correctly enforced. Nor does the presence of a state parameter alone establish a secure flow: values must be specific to the transaction, bound to the user agent, and handled as required by the applicable standard.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose a response flow that does not put tokens in the authorization response

RFC 9700 advises against the implicit grant and other responses that issue access tokens in the authorization response, citing leakage and replay risks. It says clients SHOULD instead use authorization code or another response that issues tokens at the token endpoint. This is not a claim that every code-flow deployment is secure: the surrounding redirect, PKCE, and token-handling controls still matter.

How should tokens be protected after issuance?

OAuth controls address different risks at different stages. PKCE protects the authorization-code exchange; refresh-token rotation and sender-constrained tokens address misuse of tokens after issuance. They are complementary measures, not interchangeable proof of overall application security.

Control Role RFC 9700 guidance
PKCE Protects the authorization-code transaction from code interception or misuse. Public clients MUST use it; confidential clients are RECOMMENDED to use it.
Refresh-token rotation or sender constraint Limits the risk of a stolen or leaked refresh token being reused. Public clients’ refresh tokens MUST be sender-constrained or use rotation.
Sender-constrained access tokens Reduces the ability to misuse a stolen or leaked access token by binding its use to the sender. Authorization and resource servers SHOULD use mechanisms such as mutual TLS or DPoP.

RFC 9700 also says access tokens should not be passed in URI query parameters. URLs can be exposed through places such as logs or browser history, so moving a token there undermines efforts to protect it elsewhere. Consult RFC 9700 for the complete conditions and threat mitigations.

What if a client uses more than one authorization server?

A client interacting with two or more authorization servers MUST prevent mix-up attacks. The client needs to be able to identify which server issued an authorization response; otherwise, a response intended for one issuer can be confused with a response from another.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Defense How it helps Trade-off
Issuer identification in the authorization response Lets the client check which authorization server sent the response. Recommended by RFC 9700.
Distinct redirect URIs for different issuers Uses the redirect destination to distinguish authorization-server responses. An alternative, but less suitable when a client registers once for many issuers; RFC 9700 prefers issuer-based options when available.

These are defenses for a multi-issuer client, not a substitute for exact redirect-URI handling. RFC 9700 describes the applicable conditions in its security guidance.

Best Value
BookFactory Security Pass Down Log Book, Wire-O, 100 Pages
  • Made in USA - Proudly produced in Ohio by a Veteran-owned business
  • Comprehensive Coverage: This BookFactory log book includes essential fields such as post/shift, time of change, date, weather conditions, and a designated space for detailed notes. This ensures that all relevant information is captured and easily accessible.
  • Sturdy Cover: The trans-lux cover protects the log book from wear and tear, ensuring its longevity and maintaining the integrity of your recorded data.
  • Essential Security Tool: This log book is an indispensable tool for any organization that values security and accountability. It helps to prevent misunderstandings, improve communication, and ensure a smooth transition between shifts.
  • Wire-O with Trans-lux cover, 100 Pages, Dimensions 8.5" x 11" - (Security-Pass-Down) Reorder SKU: LOG-100-7CW-PP(Security-Pass-Down)
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why does browser architecture change the threat analysis?

Browser applications face risks that depend on where credentials and tokens are handled and what role a server-side component plays. RFC 10017 focuses on browser-based OAuth architectures and malicious JavaScript threats. Its guidance centers on authorization code with PKCE, while the consequences of a design depend on whether token handling involves a server-side component or runs in the browser. There is no single architecture verdict that applies regardless of those choices.

Review the actual data path: identify which component handles tokens, what the browser can access, and how malicious JavaScript could affect that design. A server-side component may change which secrets or tokens need to be present in the browser, but the architecture still needs review against its own threats. For the browser-specific patterns and considerations, see RFC 10017: OAuth 2.0 for Browser-Based Applications.

What should an OAuth security review verify?

  • Redirect URIs are matched exactly, subject only to the stated localhost native-app port exception, and neither the client nor authorization server exposes an open redirector.
  • PKCE is used at the required strength for the client type, with transaction-specific values securely bound to the client and user agent; do not treat a parameter’s mere presence as proof of enforcement.
  • The chosen response does not unnecessarily return access tokens in the authorization response, and tokens are not placed in URI query parameters.
  • Public-client refresh tokens are sender-constrained or rotated, and the deployment considers sender-constraining access tokens with mutual TLS or DPoP.
  • Clients using multiple authorization servers can identify and validate the issuer of a response, using an applicable mix-up defense.
  • Browser token handling and the impact of malicious JavaScript are assessed for the actual architecture, including whether a server-side component is involved.

These checks evaluate OAuth 2.0 authorization security. OpenID Connect adds authentication-specific behavior; do not conflate the two protocols, although RFC 9700 discusses OIDC-specific options such as nonce in some flows. The RFCs define the requirements and threat mitigations, but they do not establish that any particular product or deployment has passed an audit.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.