簡體   English   中英

oAuth2資源所有者密碼憑據授權流程中的客戶端憑據是否可選?

[英]Are Client Credentials optional in the oAuth2 Resource Owner Password Credentials Grant flow?

RFC 6749的4.3.2 (描述了oauth2授權框架的“資源所有者密碼憑證授權流程”)指出:

如果客戶端類型是機密或客戶端是客戶端發出的
憑證(或指定的其他身份驗證要求),
客戶端必須按照描述使用授權服務器進行身份驗證
在第3.2.1節中。

似乎無法找到“機密客戶”是什么的參考。 由此看來,允許非機密客戶參與“資源所有者密碼憑證授權流程”(4.3)。 即不會(也不能)使用授權服務器對自己進行身份驗證的客戶端。

它是否正確?

查看客戶端類型部分,其中“機密客戶端”的定義如下:

客戶端能夠維護其憑證的機密性(例如,在對客戶端憑證具有受限訪問權限的安全服務器上實現的客戶端),或者能夠使用其他方式進行安全的客戶端身份驗證。

Cloudfoundry的命令行cf應用程序是使用密碼授權的“公共”(即非機密)客戶端的示例。

oauth2規范的2.3節有以下段落:

授權服務器可以與公共客戶端建立客戶端身份驗證方法。 但是,授權服務器不得依賴公共客戶端身份驗證來識別客戶端。

如果公共客戶在第2.1節中定義為:

客戶端無法維護其憑據的機密性(例如,在資源所有者使用的設備上執行的客戶端,例如已安裝的本機應用程序或基於Web瀏覽器的應用程序),並且無法通過任何其他方式進行安全的客戶端身份驗證。

因此,您可以(可選)對客戶端進行身份驗證,但不要認為客戶端就是它所說的那樣。

暫無
暫無

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

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