Visual RFC.
ALL RFCs / RFC 6749
Read the RFC ↗
RFC 6749 / THE FRAMEWORK

Password grant: now prohibited

06

The original password grant passed resource-owner credentials through the client. Later guidance prohibits it.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 4.3 ↗
RFC 6749 · § 4.3EXAMPLE
3 / 3
Password grant: now prohibitedThe original password grant passed resource-owner credentials through the client. Later guidance prohibits it. Current state: More holders meant more possible leaks..Password grant: now prohibited○ ○ ○native app / client UIOwner password enters the clientgrant_type=passwordextra exposureRFC 9700: password grant MUST NOT be used
03
More holders meant more possible leaks.

Current deployments must use an appropriate alternative grant.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
WHAT CHANGED
RFC 6749 § 4.3RFC 9700 § 2.4

The password credentials grant changes from a narrowly permitted option in the framework to MUST NOT be used.

Read the updated RFC section ↗
KEY POINT

Do not implement this historical grant today.

  • The 2012 grant used grant_type=password and directly exposed the owner’s credentials to the client.
  • It was originally restricted to highly trusted scenarios when other grants were unavailable.
  • RFC 9700 § 2.4 now states that the password credentials grant MUST NOT be used.
DETAILS

Keeping the old and new rules side by side makes the change visible without presenting the obsolete flow as safe.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Four roles, one delegation
  2. Public and confidential clients
  3. Two endpoints, two channels
  4. Authorization code grant
  5. Implicit grant: historical behavior
  6. Password grant: now prohibited
  7. Client credentials and extension grants
  8. Token responses and failures
  9. Refresh without another prompt
  10. Scope and protected resources
  11. Native apps and security boundaries
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗