簡體   English   中英

為什么要使用Client Credentials流程?

[英]Why use Client Credentials flow?

我一直在尋找使用oauth2客戶端憑據授權來保護我的API(所有用戶都將成為第三方信任的用戶)。 我在這里采用與paypal相同的方法: https//developer.paypal.com/docs/integration/direct/paypal-oauth2/

但是,我看到HTTP:// basic auth用於獲取承載令牌。 然后,承載令牌用於保護API調用。

我不明白的是,如果您要信任TLS和http:basic auth來檢索承載令牌 - 為什么不使用http:basic auth進行API調用? 使用承載令牌有什么好處?

我錯過了什么?

除了Ankit Saroch所說的內容之外,與Tokens一起采用OAuth方式可能會在未來開辟其他可能性; 假設您可能希望擴展流程以包含用戶信息。 通過僅驗證令牌,這意味着您可能不需要在服務中更改令牌驗證(這很簡單),而只需要更改身份驗證和授權步驟。

但顯然你說的是對的:客戶端憑證OAuth流並不比簡單地使用API​​密鑰或基本身份驗證等技術更安全 所有這些都依賴於客戶端的機密(它可以保留自己的憑據)。

OAuth規范( https://tools.ietf.org/html/rfc6749#section-2.1 )討論了這些客戶端類型。 總的來說,實際上值得閱讀規范。

根據OAuth 2.0授權框架:承載令牌使用情況

訪問令牌提供抽象,替換資源服務器理解的單個令牌的不同授權構造(例如,用戶名和密碼,斷言)。 這種抽象使得能夠在短時間內發布有效的訪問令牌,以及消除資源服務器理解各種身份驗證方案的需要。

授權請求並為您提供承載令牌的服務器可能與實際控制您嘗試訪問的資源的服務器不同。

根據RFC,它們被顯示為兩個不同的實體。 授予您承載令牌的是授權服務器 ,服務資源的是資源服務器

暫無
暫無

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

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