2011-06-17 54 views
3

我正在使用oauth方法以允許用戶使用Twitter和Facebook登錄到我的網站。我還計劃添加Yahoo!還有谷歌以及Stack Overflow等。一旦用戶成功登錄Twitter,他們可以選擇註銷。Twitter OAuth:我們如何將用戶從twitter中註銷?

我想讓它到達「註銷」按鈕或鏈接被選中時,用戶從我的網站和TWITTER註銷。如果用戶訪問我的網站而不是Twitters,我也需要它註銷Twitter。我該怎麼做呢?

演示和示例:develop.f12media.com 用戶單擊頁面頂部的「登錄」以使用他們的Twitter帳戶登錄。

回答

0

用戶是否在Twitter網站上進行身份驗證在用戶和Twitter網站之間。您無權訪問或控制該功能。您只能控制您網站上該用戶的身份驗證令牌。您可以在用戶的​​身份驗證令牌註銷網站時終止用戶身份驗證令牌,但這隻會影響他們通過網站的Twitter身份驗證。所有這些都可以完成,因此他們必須在下次登錄到您的網站時再次使用Twitter進行身份驗證。

我認爲你正試圖完成一些你不需要的東西。這是OAuth的預期流程,您不應該擔心從第三方站點登錄該用戶。

+0

當用戶登錄到我的網站時,他們被重定向到twitter以使用twitter登錄到我的網站。我發現它會將用戶登錄到Twitter。 – Kevin

+0

我沒有說它不會,事實上,當我從Twitter請求令牌時,我會期待它。問題仍然是你不應該擔心用戶是否登錄到Twitter網站。 除了顯而易見的,你甚至知道你的用戶在退出你的網站時想註銷Twitter嗎?如果我在同一時間使用Twitter和您的網站並註銷您的網站會怎麼樣? – ashelvey

+0

在這個筆記上,即使你知道你的用戶想要註銷Twitter,這仍然是一個壞主意。這是hacky並擾亂預期的流量。 – ashelvey

8

重定向用戶到http://twitter.com/logout可能會工作。

但是不要這樣做。 OAuth並不意味着要這樣做。只需將用戶登錄到您的網站。

通過OAuth登錄您的網站並不一定會在Twitter上登錄,因此通過您的網站登錄也不應登出。

+1

通過Oauth登錄我的網站也將用戶登錄到Twitter。 – Kevin

+0

我能夠將用戶重定向到http://twitter.com/logout,因此用戶也可以註銷Twitter。 – Kevin

+2

@Kevin,從twitter訪問OAuth令牌不一定會將用戶登錄到Twitter。這可能,但這真的取決於Twitter。遠離它。 – Triptych

1

在Facebook中,它可以很容易地完成,因爲Facebook提供了logout.php,它需要next=sendBackURL作爲參數。

因此,當用戶點擊您的應用程序的註銷按鈕時,我們可以調用上面的註銷URL,這將註銷用戶和智能Facebook的URL next=sendBackURL將發送到您的應用程序登錄頁面。

但是,上面的內容在推特中似乎很難,但我認爲如果我這樣做,那麼用戶將會在Twitter網站上登錄,但他將從您的應用程序和Twitter上註銷。

所以它可以通過發送authorize?force_login=true,它將被調用或將在您的應用程序從您的網站註銷用戶後立即重定向,並且用戶將再次被定向到Twitter,我已經測試了它從Twitter註銷用戶,雖然它會再次詢問twitter憑據,但沒有問題,用戶可以忽略它。

如果Twitter也可以提供一些註銷網址,它會接受下一個網址,這很容易。