私はTwitterとFacebookでOAuth認証を行っています。現在、これらのサイトのそれぞれで、私のサーバは指定されたURL(例えば、Twitterでhttp://api.twitter.com/oauth/authorize)にユーザをリダイレクトし、コールバックURLで認証パラメータを受け取ります。現在のページからユーザーをリダイレクトする代わりに、新しいウィンドウを開いてOAuthリクエストを行うにはどうすればよいですか?
しかし、ユーザーは自分のページ(FacebookまたはTwitter)にリダイレクトされ、入力後正しいユーザー名&のパスワードが返されます。ユーザーが投稿をつぶすときにはhttp://techcrunch.comのようになります。
一部のサイトでは、ユーザーをリダイレクトするのではなく、ユーザーが資格情報を入力するためのポップアップウィンドウを開いていることがわかりました。認証が完了した後、ポップアップが閉じ、メインページが新しいコンテンツで更新されます。
これはjavascriptでは非常に簡単な作業ですが、それでもわかりません。私はポップアップウィンドウで認証URLを開くことができますが、結果を得る方法&メインページを更新しますか?あなたはポップアップwindow.open()
を使用して認証URLを開いていると仮定すると、
あなたはこれを行うには、ポップアップウィンドウにJavaScriptを置くことを意味ですか? –
はい、ポップアップで、oauth認証の成功コールバックであるページに。だから、流れは次のとおりです:承認ページ(例えばtwitter.com上)でポップアップを開くと、承認された承認Twitterがユーザーから与えられたURLにリダイレクトされます(これは非常に同じポップアップで開かれます)。あなたが私の答えからjavascriptを置くコールバックページ、*オープナ*ウィンドウがリロードされ、単にjavascriptを使ってポップアップを閉じることもできます。 – WTK
私はすぐにそれを試してみます –