簡體   English   中英

資源所有者密碼憑據授予-公共客戶端

[英]Resource Owner Password Credentials Grant - Public Client

我正在嘗試使用Python oauthlib為網站實現Oauth2。 我已經決定要使用授予類型“ ResourceOwnerPasswordCredentialsGrant”,這是因為網站和API是我自己的,並且不會向第三方開放。

為什么在“ resource_owner_password_credentials.py”中硬編碼“ client_authentication_required”以返回“ True”?

我需要認證我的客戶(網站)嗎? 據我了解,這將是“公共”客戶,而不是機密客戶。

看起來是oauthlib的作者以這種方式解釋了規范。 關於“資源所有者密碼憑證”授予類型的部分( http://tools.ietf.org/html/rfc6749#section-4.3 )說:

(B)客戶端通過包括從資源所有者接收的憑據,從授權服務器的令牌端點請求訪問令牌。 發出請求時,客戶端向授權服務器進行身份驗證。

請注意,它建議客戶端進行身份驗證,但不要在最后一句中使用MUST關鍵字。 在其正下方,有一些更詳細的文本( http://tools.ietf.org/html/rfc6749#section-4.3.2 )說:

如果客戶端類型為機密或客戶端已被頒發客戶端
憑證(或分配的其他身份驗證要求),
客戶端必須按照授權向授權服務器進行身份驗證
在3.2.1節中。

注意“如果客戶是機密的”,這意味着公共客戶也可以使用此授予類型,這是有道理的。

因此,我認為這是由於規范中措詞的解釋過於嚴格。

暫無
暫無

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

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