2012-03-28 12 views
1

私はサーバーサイドのFacebook認証を使用しています。最初に、アプリケーションはクライアントをhttps://www.facebook.com/dialog/oauth?...URLにリダイレクトします。このURLには、パラメータとして "display = popup"という文字列がありますが、アプリケーションがクライアントをリダイレクトするとダイアログがページとして表示されるため、ウィンドウは開かれません。Facebookのサーバー側認証:代わりにページとしてポップアップとしてOAuthダイアログを表示できません

答えて

2

サーバー側はURLにのみリダイレクトできます。どのウィンドウでURLを開いたり表示したりするかをクライアントに伝えることはできません。

Facebookのクライアント側認証は、ポップアップウィンドウでOAuthダイアログを表示するように処理します。あなたは、サーバー側の認証を使用する必要がある場合は、ポップアップ自分でURLを開く必要があります:

window.open('URL_THAT_REDIRECTS_TO_OAUTH_DIALOG', ...) 

が、その後、あなたはまた、ウィンドウのサイズ(幅/高さ)を自分で(設定する必要がありますwindow.open()で指定してください)。

0

前の回答は正しいです。しかし、実際のポップアップを持っている「_blank」を使用することを忘れないでください:

window.open('/fblogin', '_blank','location=yes, scrollbars=yes, width=640, height=359', true); 

これらはまた、現在のOAuthログインウィンドウのサイズです。