簡體   English   中英

OAuth 2.0 - 當資源所有者憑據無效時,為什么授權服務器返回400而不是401?

[英]OAuth 2.0 - Why does the authorization server return 400 instead of 401 when the resource owner credentials are invalid?

使用資源所有者密碼授予類型時,如果由於資源所有者輸入的密碼不正確而無法授予訪問令牌,則授權服務器似乎應響應HTTP 400(錯誤請求)狀態代碼。 基於我對RFC 6749第5.2節**的理解,我得出了這個結論,其中說“在由於invalid_grant而無法授予令牌的情況下,授權服務器以HTTP 400(錯誤請求)狀態代碼響應”。 為invalid_grant列出的原因包括資源所有者憑據無效。

我的理解是否正確? 如果是這樣,為什么不返回HTTP 401(未授權)? 使用基本身份驗證時,無效密碼會生成401.為什么OAuth 2.0規定要返回400? 這是因為401是為無效的客戶端憑據保留的嗎?

**見http://tools.ietf.org/html/rfc6749#section-5.2

我也想知道這一點,但似乎401響應需要在響應中返回WWW-Authenticate標頭,這在這個OAuth流程中沒有意義。 這是規范設計者討論此問題的線程的鏈接

為了完整性(tl; dr): 是OAuth團隊的Eran Hammer-Lahav澄清這個問題的具體信息。

我想這是以這種方式實現的,因為客戶端提供了無效數據,即(用戶名,密碼,刷新令牌等)客戶端沒有嘗試訪問受保護資源,因此他正在接收HTTP 400以指示他應該更正他的投入。 通常,當您嘗試使用無效或過期的訪問令牌訪問受保護資源時,您應該會收到401。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM