2009-12-25 50 views
28

我在我的web應用中使用OAuth,用戶可以使用twitter登錄。Twitter API - 註銷

我想添加「切換twitter帳戶」按鈕,它實際上清除會話,然後打開authorize_url。

由於在我的web應用程序中清除會話不會退出twitter,因此authorize_url會自動驗證當前的twitter.com用戶。這意味着我不能做註銷,除非我將用戶發送到twitter.com。

API可能嗎?什麼是實施這個最好的方法?

回答

29

與Twitter的會話由Twitter擁有的cookie定義 - 您無法控制的內容。你不能以他們的名義將他們登出Twitter。

如果您希望某人能夠使用您的「切換Twitter帳戶」功能,則需要再次將它們傳遞給OAuth握手,但使用/oauth/authorize路徑而不是/oauth/authenticate路徑。這將允許用戶在握手期間在Twitter上切換他們的用戶憑證,而不是使用他們現有的Twitter會話重新進行身份驗證。

或者,您可以在自己的應用程序中擁有單獨的用戶概念,從而您擁有自己的用戶模型,並擁有許多與其關聯的推特帳戶。這樣,您可以讓用戶更加無縫地切換帳戶。他們必須預先爲他們的每個Twitter帳戶授權您的應用程序,但是之後您將擁有他們每個Twitter帳戶的所有oauth密鑰。

+0

謝謝!我使用/ authenticate /而沒有真正瞭解其中的差異,但通過授權,它可以在Twitter上向用戶顯示他們的帳戶。 – elado

+0

誰可以發佈bengottlieb/Twitter-OAuth-iPhone的代碼。我無法註銷。 – Voloda2

+2

如何註銷Twitter並以另一個帳號登錄。你可以放一些代碼嗎? – Emerald214

32

您可以按照GET oauth/authenticate的規定使用oauth/authenticate並添加force_login=true。這將以登錄表單提示用戶。

+0

工作得很好,但窗體仍然包含以前登錄用戶的用戶名:(。 –

+0

@MubasharAhmad所以?你確定它不只是瀏覽器自動填寫表格嗎? – abraham

+0

我使用/ session/destroy url登錄但似乎它不再可用,它顯示空白的登錄表單。無論如何,我不確定它是網絡控制還是嘰嘰喳喳自己。但也許你是對的我要檢查網頁瀏覽器控制功能,使其工作。 –

0

對不起,評論爲答覆。 亞伯拉罕解決方案的偉大工程,但爲清除用戶名字段您還需要添加screen_name= GET請求。