2016-09-13 150 views
1

望着的oauth2規範,它說在section 6客戶端綁定訪問令牌

... the refresh token is bound to the client to which it was issued. 

但是,我找不到在什麼規格的明確規定,標記應綁定到請求的客戶端也。我認爲這是事實,Introspection Extension似乎支持這一假設,但我想知道這是否正確。

舉個例子,假設我使用兩個使用Google作爲Oauth2授權服務器的應用程序。我假設Google會發布兩個不同的令牌,每個應用都有一個令牌,並且令牌只能由發給它們的客戶端使用,因爲它們綁定到該客戶端。

回答

0

是的,我認爲規範中暗示訪問令牌只應由用戶授權的應用程序使用。換句話說 - 除了授權應用程序之外,使用令牌來訪問用戶數據幾乎就是隱私失敗的定義,並且是什麼授權協議明確地被設計用於首先防止。

現在,在實踐中,我認爲有一個應用程序使用來自另一個應用程序的訪問令牌可以在許多OAuth 2.0實現中正常工作。我不知道Token Introspection擴展被廣泛使用,並且大多數訪問令牌都被設計爲自我驗證。事實上,這就是令牌盜取是安全風險的原因。相比之下,刷新標記只有在與客戶端密碼相結合時纔有用,因此它在技術上和哲學上與客戶「綁定」。

1

訪問令牌可以有各種實現。今天最廣泛採用的是RFC 6750 https://tools.ietf.org/html/rfc6750中的「承載」令牌。無記名令牌不是故意綁定到客戶端的:它使實施變得容易,降低了採用的門檻,並滿足了廣泛的用例。

假設持票人令牌不容易被盜,可以接受避免將其綁定到特定的客戶端:預期的客戶端確實可以與另一個客戶端共享訪問令牌,但它可以共享訪問數據如果令牌被限制爲,令牌允許訪問。

在需要更高安全性的環境中,可以使用RFC 7800 https://tools.ietf.org/html/rfc7800中定義的綁定到客戶端的令牌。

相關問題