2011-06-17 21 views
3

oauthメソッドを使用して、ユーザーがTwitterとFacebookで自分のWebサイトにサインインできるようにしています。 Yahoo!を追加する予定ですStack OverflowなどのGoogleも同様です。ユーザーがTwitterで正常にログインすると、ログアウトすることができます。Twitter OAuth:どのようにユーザーをTwitterからログアウトさせるのですか?

「ログアウト」ボタンまたはリンクが選択されているときに、ユーザーが自分のサイトからログアウトしてTWITTERにログアウトする場所にしたいと考えています。ユーザーがTwittersではなく私のWebサイトにアクセスしている場合にも、Twitterからログアウトする必要があります。これはどうすればいいですか?

デモと例:develop.f12media.com ユーザーは、ページの上部にある[ログイン]をクリックしてTwitterアカウントにログインします。

答えて

0

ユーザーがTwitterサイトで認証されているかどうかは、ユーザーとTwitterサイトの間です。あなたはそれにアクセスしたりコントロールしたりすることはできません。サイトのそのユーザーの認証トークンを制御できるのはあなただけです。サイトのログアウト時にユーザーの認証トークンを期限切れにすることはできますが、これはサイトを通じてのTwitter認証にのみ影響します。それが達成できるのは、次に自分のサイトにログインしたときにTwitterで再度認証する必要があるからです。

私はあなたがここに必要としないものを達成しようとしていると思います。これはOAuthの予想されるフローであり、第三者のサイトからその人をログアウトすることについて心配するべきではありません。

+0

ユーザーが自分のWebサイトにログインすると、ユーザーはTwitterにリダイレクトされ、Twitterで自分のWebサイトにログインします。私はそれがユーザーにツイッターにログインしていることがわかった。 – Kevin

+0

私はそうではないと言わなかった、実際には、あなたがTwitterからトークンを要求しているときに期待していた。問題は、ユーザーがTwitterサイトにログインしているかどうかを心配するべきではないということです。 あなたのサイトからログアウトすると、あなたのユーザーはTwitterからログアウトしたいと思うことは明らかです。 Twitterとあなたのサイトを同時に使用していて、あなたのサイトからログアウトするとどうなりますか? – ashelvey

+0

これは、ユーザーがTwitterからログアウトしたいという事実を知っていても、それでもやはり悪い考えです。それはハッキーであり、予想される流れを混乱させる。 – ashelvey

8

ユーザーをhttp://twitter.com/logoutにリダイレクトすると、おそらく動作します。

しかし、しないでください。 OAuthはそのように動作するようには意図されていません。あなたのサイトからユーザーをログアウトするだけです。そのどちらかそれらをログアウトしてはならないあなたのサイトを経由してアウトをロギング、必ずしもツイッターでそれらをログインしないのOAuth経由でサイトにログイン

+1

Oauth経由で自分のサイトにログインすると、そのユーザーもTwitterにログインします。 – Kevin

+0

私はユーザーをhttp://twitter.com/logoutにリダイレクトすることができたので、ユーザーはTwitterでもログアウトすることができました。 – Kevin

+2

@Kevin、TwitterからOAuthトークンにアクセスしても必ずしもTwitterにユーザーがログインするとは限りません。それは可能かもしれませんが、それは本当にTwitterに任されています。それから離れてください。 – Triptych

1

Facebookではfacebookがlogout.phpを提供しており、それはparamとしてnext=sendBackURLを受け取るので、簡単に行うことができます。

アプリケーションの[ログアウト]ボタンをクリックすると、上記のログアウトURLが呼び出され、ユーザとスマートなFacebookのURL(next=sendBackURL)がアプリケーションのログインページに送信されます。

しかしこれはTwitterでも難しいようですが、私が同じことをすれば、ユーザーはTwitterサイトにいますが、彼はurアプリケーションとtwitterからログアウトします。

authorize?force_login=trueを送信することで、アプリケーションがあなたのサイトからユーザーをログアウトした直後にリダイレクトされるか、またはリダイレクトされ、ユーザーはTwitterに再度誘導されます。それはTwitterの資格情報を再度尋ねるが、問題はないが、ユーザーはそれを無視できる。

もしTwitterが次のURLを取るいくつかのログアウトURLを提供することもできます。

関連する問題