0

一個供應商的API文檔中提到,他們的API調用要求使用HTTP基本身份驗證方案,即用戶名:密碼Base64編碼,但是,他們的令牌API(登錄當量)的文件中提到,「..this服務實現的OAuth 2.0 - 資源所有者密碼&憑據格蘭特HTTP基本驗證和OAuth 2.0是否相同?

是不是HTTP基本驗證從OAuth的不同?

回答

2

是,HTTP基本驗證從OAuth 2.0用戶不同。然而,Resource Owner Password Credentials Grant利用授權請求的客戶機憑證中的基本認證方案與section 4.3.1. Authorization Request and Response

資源所有者密碼憑據格蘭特通常用於遺留系統轉換到OAuth 2.0和不大於Basic Authentication Scheme更安全描述。

資源所有者密碼憑據格蘭特打算在沒有其他類型格蘭特可用,並且僅用於當有高度的資源所有者和OAuth客戶端之間的信任。

+0

>高度信任<這是因爲,最終用戶(資源所有者)將他/她的用戶標識和密碼提供給此可信的第三方客戶端(而不是將其提供給其他授權中的授權服務器流量),並且此第三方客戶端打電話給授權服務器? – yathirigan

+0

和受信任的第三方應用程序使用HTTP基本身份驗證技術(使用授權頭和base64編碼憑據)將用戶憑證發送到授權服務器。我的理解是否正確? – yathirigan

+1

資源所有者密碼憑證授權不使用基本驗證方案。它使用自己的方案將用戶名和密碼作爲POST參數傳遞。 –

1

是的,它們都是不同的。 Http Basic:這是用於身份驗證和用戶憑證編碼,然後通過HTTP頭傳遞到客戶端服務器。 HTTP Basic的基本示例:就像傳統的Web應用程序一樣,該應用程序要求用戶提供憑證,並將這些憑證發送到HTTP標頭中的服務器。稍後的服務器使用這些憑證來認證用戶。

的OAuth 2:這是用於授權,在這裏從授權服務器的用戶數據(資源所有者)的客戶端服務器所需的授權。 OAuth 2的基本示例:假設有一個在線遊戲應用程序在服務器上運行,用戶訪問了開始加載到用戶瀏覽器的應用程序。現在,該應用程序要求用戶提供贈款,以在其Facebook帳戶上發佈關於遊戲的數據。這裏用戶授權他的應用程序通過OAuth標準訪問他的Facebook帖子。參考內部機制https://tools.ietf.org/html/rfc6749