2010-07-02 60 views
3

Twitter'll​​截止2010年8月的HTTP基本認證。在鏈接我的場景是從桌面應用。基本上我的客戶應該在網站上發佈新帖子。服務器端Twitter客戶端可能與OAUTH?

這對HTTP基本身份驗證來說非常簡單,因爲我可以在應用中存儲和使用我的賬戶的用戶名和密碼進行身份驗證。 然而,通過OAuth我可以通過兩種方式得到最後的憑據:

  • Callback method。你被重定向到Twitter,(如果不是則登錄),點擊允許訪問,重定向回到你的回調URL。
  • PIN mode。你得到一個鏈接打開,(如果不是登錄),點擊允許訪問,接收PIN碼。使用此PIN碼驗證您的應用程序。

我是否正確理解PIN碼也過期?給定一個用戶名和密碼只是爲了從客戶端應用程序推送,怎麼可能?服務器端腳本如何使用用戶名/密碼登錄並單擊允許訪問?我可以谷歌的所有場景是一個Web應用程序來驗證通過 twitter,用戶在瀏覽器前面走過重定向。

回答

2

我可以谷歌了所有的情況下,一個Web應用程序通過twitter進行身份驗證,用戶在瀏覽器前面走過重定向。

用戶必須在那裏第一次授權您(就像他們必須提供用戶名和密碼一樣),但生成的訪問令牌不會過期並且可以重複使用(除非用戶取消授權您的應用程序,即)。

存儲訪問令牌 - 它和用戶名/密碼一樣好。更好的是,實際上 - 如果他們更改了密碼,您的訪問仍然存在。

2

PIN在OAuth 1.0a下過期。使用返回的驗證碼需要在初始授權請求中使用臨時請求令牌。

OAuth 2.0定義了更多flows - 其中一個使用直接login/password機制。 Twitter決定他們決定實施哪些流程。您也可以在應用中嵌入用戶代理。

桌面應用程序由於使用OAuth 1.0而導致2.0的用戶體驗非常糟糕。這是可行的,但痛苦。如果您需要來自Twitter,您也可以要求XAuth access。它與基本身份驗證幾乎相同。