2011-04-08 141 views
16

請您解釋一下OAuth 2.0兩條腿和三條腿實現之間的區別。以及如何選擇?哪些給我?OAuth 2.0之間的區別兩條腿和三條腿實現

+5

OAuth 2.0在3腿和2腿OAuth之間沒有明確的分隔。我已經寫了一篇關於如何使用OAuth 2.0實現兩階段OAuth的博客帖子,並將其與1.0進行了比較[http://blog.facilelogin.com/2011/12/2-legged-oauth-with-oauth-10-and -20.html](http://blog.facilelogin.com/2011/12/2-legged-oauth-with-oauth-10-and-20.html) – 2011-12-20 18:15:11

回答

25

首先,腿指涉及的角色。典型的OAuth流程涉及三方:最終用戶(或資源所有者),客戶端(第三方應用程序)和服務器(或授權服務器)。所以三條腿都涉及三條腿。

術語「雙腿」用於描述未經最終用戶參與的OAuth認證請求。基本上,這是一個簡單的客戶端 - 服務器驗證請求,其中使用客戶端憑證(標識符和祕密)來計算請求籤名,而不是以明文方式發送祕密。

執行方面,2段請求完全相同,但不包括訪問令牌或訪問令牌密鑰。這兩個值基本上是空字符串。

+1

感謝您突出顯示。因此,如果我以Twitter爲例,它會要求我們提供兩種應用程序:a)桌面客戶端b)網絡應用程序。對於桌面客戶端,您的應用程序會要求用戶輸入Twitter提供的PIN,而在Web應用程序的情況下,這不會發生。那麼,這是否意味着對於桌面客戶端來說,它的三段式和網絡應用的情況下,它的兩段式OAuth? – 2011-08-05 06:00:43

+0

如果您代表用戶進行API調用,那麼它與應用程序的類型無關,您正在處理3段流程。我不確定Twitter是否提供了雙邊API(即與任何用戶無關,只是客戶端本身)的API。 – 2011-08-05 07:21:40

+6

Twitter實際上提供了雙腿OAuth API - 當我想使用我的帳戶推特時使用。基本上雙腿OAuth是關於直接身份驗證..三腿OAuth是關於委派.. – 2011-12-10 15:01:02