質問
私は自分のWebアプリではOAuthを使っていて、ユーザーは、Twitterでログインすることができます。
私は実際にセッションをクリアしてからauthorize_urlを開き、「スイッチのTwitterアカウント」ボタンを、追加したい。
のTwitterからログアウトしていない私のWebアプリでセッションをクリアすると、authorize_urlは自動的に現在のtwitter.comのユーザーを認証します。私は、twitter.comにユーザーを送信しない限り、手段は、私は、ログアウトを行うことができない。
これは、APIで可能ですか?これを実装するための最良の方法は何ですか?
解決
はツイッターとのセッションは、ツイッターが所有してクッキーによって定義されます。あなたは彼らのためにツイッターを彼らにログアウトすることはできません。
あなたが誰かがあなたの「スイッチのTwitterアカウント」機能を使用することができるようにしたい場合は、再度のOAuthハンドシェークにそれらをオフに渡しますが、/oauth/authorize
パスではなく/oauth/authenticate
パスを使用する必要があります。これは、ユーザーだけではなく、既存のTwitterのセッションを使用して再認証のハンドシェイク中にツイッターでユーザー資格情報を切り替えることができるようになります。
また、あなたはあなた自身のアプリでのユーザーの個別の概念を持つことができます。そうすれば、あなたは、ユーザーがよりシームレスにアカウントを切り替えることができる可能性があります。彼らはTwitterのアカウントごとに、アップフロントにアプリを承認しなければならないでしょうが、あなたはその後にTwitterのアカウントごとに、すべてのOAuthのキーを持つことになります。
他のヒント
あなたはOAuthの認証/を使用してforce_login=true
を追加することができます
答えとしてコメントして申し訳ありません。
アブラハム・ソリューションは素晴らしい作品が、クリアのユーザー名フィールドに、あなたはまた、リクエストをGETするscreen_name=
を追加する必要があります。