Вход в Facebook - проблема с перенаправлением после подтверждения разрешения на получение информации о пользователе

Мне нужна помощь для последнего шага моей функции входа в Facebook.

Проблема в том, что когда новый пользователь входит в систему в первый раз, появляется всплывающее окно под названием 'www.facebook.com/v11.0/dialog/oauth', которое просит нового пользователя подтвердить, что он разрешает моей странице доступ к его информации.

Проблема заключается в том, что после того, как пользователь принимает условия и подтверждает их, нажимая кнопку 'continue as name', вместо того, чтобы быть переведенным на мою домашнюю страницу, как я хотел бы, пользователи остаются на моей странице входа. Затем им нужно второй раз нажать на кнопку 'Connect by Facebook', которая теперь способна выполнить свою работу и перенаправить моих пользователей на нужную страницу.

В основном я ищу способ указать Facebook login, чтобы он запрашивал перенаправление изнутри всплывающего окна 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().

Вернуться на верх