2010-10-14 136 views
1

我有兩個問題(是否違反禮節?)圍繞Twitter身份驗證。Twitter驗證問題

第一個問題是這個。我想存儲我收到的訪問令牌,但它是一個字典對象。我是否存儲整個字典對象或只是一些相關的部分。

其次,我想知道如何登錄用戶。我發現這個鏈接可以幫助用戶註銷Facebook - 是否有類似於Twitter的此類鏈接(或者這種註銷方式是一個糟糕的主意)http://m.facebook.com/logout.php?confirm=1&next=

回答

2

您需要了解的是,OAuth協議沒有定義「登錄」和「註銷」概念,這些概念是您的應用程序固有的。 OAuth是一種協議,允許消費者(您的應用程序)訪問由資源提供者(在本例中爲Twitter)存儲的資源所有者(您的用戶之一)數據。

是否存儲整個字典對象或只是一些相關的部分。

據我所知,您只需要存儲訪問令牌,以便能夠繼續向服務器詢問您請求的資源(請求新資源可能需要獲得另一個訪問令牌)。請記住,此令牌可能會過期,並且可能會在任何時候由用戶直接通過Twitter撤銷,並且在您不知情的情況下。這是在OAuth中設計的。

我想知道如何註銷用戶

中有沒有OAuth的「會話」,這是有關您的應用程序的概念。

+0

非常感謝。這非常有幫助。 – swasheck 2010-10-14 13:35:57

1

您需要訪問令牌密鑰和機密才能訪問API。只要您以某種方式存儲它,它的存儲方式並不重要。您正在訪問的應用程序將有一種存儲數據的方式。除非您正在創建新的OAuth應用程序或向現有應用程序添加支持。在這種情況下,您將需要使用該語言的慣用(正確方式)(即酸洗或Python配置文件)的任何鍵/值系統來存儲密鑰和祕密。

給予密鑰和祕密的消費者(應用程序)將代表用戶訪問Twitter。

要撤銷特定訪問密鑰,請以用戶身份登錄到Twitter並轉至http://twitter.com/settings/connections。每個具有有效訪問令牌的應用程序都列在該頁面上,並且可以撤銷。消費者並不像用戶那樣真正登錄過,他們使用訪問密鑰和祕密進行身份驗證。

+0

謝謝 - 這是一些很好的信息。 – swasheck 2010-10-14 13:36:20