私はomniauth-facebookに移動し、すごくうまくいっています。私はログインボタンのためのポップアップを使用しようとしてきましたが、私はそれを動作させることができません。Omniauth-facebook:ログインポップアップがリダイレクトされない
レールアプリの場合はhttps://github.com/mkdynamic/omniauth-facebook/blob/master/example/config.ruの例に従っています。リンクをクリックすると、ポップアップが表示され、私は認証を受けるが、ポップアップが閉じたとき、私は私が先のページが処理されるログに見ることができるにもかかわらず、ログインページに残る:それはほとんど機能し
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : '#{ENV['APP_ID']}',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
};
(function(d) {
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
$(function() {
$('a').click(function(e) {
e.preventDefault();
FB.login(function(response) {
if (response.authResponse) {
$.get('/auth/facebook/callback');
}
}, { scope: '#{SCOPE}' });
});
});
</script>
<p>
<a href="#">Connect to FB</a>
</p>
ゲストとメンバーの両方に利用可能なリンクをクリックすると、ログインしたことの別の証明であるメンバーバージョンが取得されます。
ログインが成功してもブラウザがリダイレクトされないのはなぜですか?ユーザーをログインさせるコントローラーメソッドで何かを修正するべきですか(特別なフォーマットの「respond_to」のように)?
おかげ
リダイレクトは、/ auth/facebook/callback(UserSessionsControler#create_with_provider)によって呼び出されたコントローラメソッドにあります。 – Nycen
それはajaxリクエストです。それ自体はページを変更しません。あなたが[サーバーから何かを取得している](http://api.jquery.com/jQuery.get/)それで何もしないでください。 – ori
まあ、私は何かをして、response_toをformat.jsとリダイレクトで使用していると思っていましたが、それは呼び出されません。または、ページをリロードするrjsビューをレンダリングする必要がありますか? – Nycen