Facebook 登录 - 确认用户信息权限后重定向问题

Facebook Login - Problem redirecting after confirming permission for user info

我的 Facebook 登录功能的最后一步需要帮助。

问题是当新用户第一次登录时,会出现一个名为 'www.facebook.com/v11.0/dialog/oauth' 的弹出窗口,提示新用户确认他们允许我的页面访问他们的信息。

问题是,一旦用户接受条款并通过单击 'continue as name' 按钮进行确认,用户并没有像我希望的那样被引导到我的主页,而是保留在我的登录页面上.然后,他们需要再次单击 'Connect by Facebook' 按钮,该按钮现在可以完成其工作并将我的用户重定向到正确的页面。

基本上我正在寻找一种方法来告诉 Facebook 登录提示从 oauth 弹出窗口内部重定向并跳过双击的需要。

我已经在 JavaScript 中设置了访问权限,我的代码如下所示:

    $(document).ready(function(){
      $('.login-main').on("click", ".facebook_login_class", function(){
          console.log('FACEBOOK LOGIN OPTION SELECTED');
                FB.getLoginStatus(function(res){
                    if(res.status == "connected" ){
                        console.log('Connected on Facebook');
                        FB.api('/me?fields=email,name,first_name,last_name', function(fbUser) {
                            $.ajax({
                                url:'facebook_login_ajax/',
                                method:'GET',
                                data:{
                                    email:fbUser.email,
                                    code:fbUser.id,
                                },
                                success:function(response){
                                    if (response.Success == true){
                                        window.location.href = '/myhomepage/';
                                    }
                                }
                            });
                        });
                    }else{
                        console.log('NOT CONNECTED!');
                        FB.login();
                    }
                    FB.getLoginStatus(function(response) {
                    });
                });

            });
      });

我认为魔术发生在 FB.login() 期间;我职能的一部分,因为这是新用户在授权我使用他们的数据之前最终到达的地方。我仍在努力提高我的 JavaScript 技能,所以我觉得我缺少一些非常简单的东西。

你们有解决这个问题的想法吗?

非常感谢

哦,原来解决方案从一开始就非常简单。我只需要修改 FB.login();像这样的部分:

                    FB.login(function(response) {
                       if (response.status == 'connected'){
                        FB.api('/me?fields=email,name,first_name,last_name', function(fbUser) {
                        $.ajax({
                            url:'facebook_login_ajax/',
                            method:'GET',
                            data:{
                                email:fbUser.email,
                                code:fbUser.id,
                            },
                            success:function(response){
                                if (response.Success == true){
                                    window.location.href = '/myhomepage/';
                                }
                            }
                        });
                    });
                       }
                    }, {scope: 'email'});
                }

这与我之前的功能基本相同,只是现在它遵循 FB.login() 功能。