2010-09-19 91 views
24

我想知道沒有任何域名的桌面應用如何使用oauth?還是不應該這樣使用?如果是的話,我使用什麼?說tumblr他們有一個authentication api所以我將不得不把用戶名和密碼在URL /查詢字符串?桌面應用的OAuth?

我想使用WPF/Adob​​e AIR。 tweetdeck如何工作?

+1

桌面應用程序不需要知道OAuth等。它只需要它們的標記(它們在Cookie中,它們在登錄後發送回客戶端)。您只需瀏覽登錄頁面 - 等待他們登錄 - 登錄後(或者瀏覽器自動將其轉發),您將製作服務發回的Cookie副本。 - 然後爲了將來的請求,您只需將這些cookie推回。 – BrainSlugs83 2014-03-31 06:53:05

回答

2

看起來這是可能的,看到關於這個問題的谷歌文檔:

https://developers.google.com/accounts/docs/OAuth2

+3

也許更新新版本的OAuth的答案? https://developers.google.com/accounts/docs/OAuth2InstalledApp – 11684 2013-02-26 16:32:25

+0

沒有一個是特別好的解決方案,它們是... – fatuhoku 2013-10-17 13:11:13

1

您應該先閱讀OAuth開始閱讀。最終,即使是桌面應用程序也會打開一個瀏覽器窗口來驗證用戶身份 - TweetDeck和其他Twitter客戶端會這樣做,正如您可能已經注意到的那樣。

在您的示例中,Tumblr不使用OAuth,而是通過簡單的HTTP Web請求執行的基本身份驗證。

+0

,但如果桌面打開瀏覽器窗口進行身份驗證,則不會真正在使用oauth權限創建應用程序所需的域上。我將閱讀鏈接tho – 2010-09-19 03:36:45

+0

它實際上是一個可以確認OAuth令牌的域。爲了給您舉一個真實世界的OAuth供電服務(Twitter除外)的示例,請查看Vimeo:http://vimeo.com/api/docs/oauth – 2010-09-19 03:52:54

+0

嗯,我注意到,但我的域如何來發揮?例如。我的應用程序會調用我的域來驗證請求或什麼?對不起,我有點困惑 – 2010-09-25 05:43:37

1

Twitter不希望用戶將他們的憑據輸入到您的應用程序中。因此,在某些時候,桌面應用程序需要打開瀏覽器窗口,Twitter可以通過該窗口對其用戶進行身份驗證並返回代表用戶的訪問令牌。從這一點開始,桌面應用程序可以使用訪問令牌來代表用戶在所有後續的對Twitter的API調用中。

+0

好吧我明白打開瀏覽器的意義,但如果是從沒有域名的桌面應用程序撥打電話,那麼在註冊時我該如何輸入域名?即使我有域名,桌面應用程序和域名之間的關係是什麼?就像應用程序要求對該域名或其他東西? – 2010-09-22 00:09:08

+0

您的應用程序將向Twitter發出呼叫 - 這是Twitter的身份驗證機制,它將接受用戶的憑據並返回令牌。根據Twitter的實施情況,您*可能*需要提供一個回叫URL,Twitter可以使用該回調URL在用戶完成身份驗證流程後將控制權返回給您的應用程序。這有幫助嗎? – Addys 2010-10-03 14:28:29

+1

對於桌面應用程序,此回調URL是什麼? – 2015-06-12 18:54:04

7

我一直對缺乏域或應用url的問題感到困惑,但事實證明,重定向並不是完成OAuth身份驗證過程的唯一可能方式。

即,當web應用程序請求訪問時,它提供了回調url:一個用戶將被重定向到進程完成時。這就是webapp如何知道一切都完成了。

但是你不能重定向到用戶機器上的應用程序。因此,還有另外一種方法:成功驗證服務器向用戶提供特殊代碼。然後用戶複製此代碼並將其提供給應用程序。

您可以看到specification draft中描述的兩種方法。
此外,此認證流程的here's an example與twitter。

+1

對於實際答案+1而不是簡單地粘貼鏈接。 [另一個例子,與Imgur](https://api.imgur.com/oauth2#response_type) – 2016-05-19 23:11:41

0

在您有另一種方式來獲得令牌,瀏覽器中打開URL本身就是一個桌面環境。

OAuth2服務器會將用戶瀏覽器重定向到以令牌作爲查詢參數的重定向URL,因此如果您控制使用的瀏覽器,則可以直接從用戶重定向到的URL讀取令牌。

像GKT +這樣的圖形庫已經集成了一些選項來創建用戶可以用來驗證的迷你瀏覽器,並且它會自動將令牌返回給應用程序,但其他選項也是可能的,例如閱讀Firefox url。