Angular 7 с входом в Facebook: статус входа отображается как подключенный даже после выхода из приложения Facebook - PullRequest
0 голосов
/ 09 мая 2019

Я занимаюсь разработкой приложения angular 7 и пытаюсь войти на Facebook.У меня на странице входа в систему есть кнопка «Facebook», через которую пользователь может войти в мое приложение.

** Случай 1: Я уже вошел в приложение Facebook.**

Я загружаю свое приложение и нажимаю на кнопку Facebook со страницы входа. Регистрация работает без каких-либо проблем.

** Случай 2: я не вошел в приложение Facebook.**

Я загружаю свое приложение и нажимаю кнопку Facebook на странице входа.Появляется форма входа в Facebook с просьбой войти в приложение Facebook.После ввода учетных данных Facebook, вход в систему работает без проблем.

** Случай 3: Я загружаю свое приложение, но я выхожу из Facebook перед входом в свое приложение **

Здесь, когда страница входа в системузагружен, я вошел в Facebook.Но я выхожу из Facebook, прежде чем нажать кнопку Facebook на своей странице входа.Теперь, если я нажму кнопку Facebook на своей странице входа, loginstatus будет показан как подключенный, но я не смогу получить какую-либо информацию о пользователе.Здесь форма входа в Facebook не появляется.Я все еще могу получить доступ к USERID, TOKEN TOKEN и т. Д. И когда я перезагружаю страницу и нажимаю на кнопку Facebook, она попадает в сценарий случая 2.

Это то, что у меня есть в моих ngOnInit () и socialSignIn ()вызывается при нажатии кнопки Facebook на странице входа в систему.

ngOnInit() {

    (window as any).fbAsyncInit = function() {
      FB.init({
        appId      : 'xxxxxx',
        cookie     : true,
        xfbml      : true,
        version    : 'v3.1'
      });
      FB.AppEvents.logPageView();
    };

    (function(d, s, id){
       var js, fjs = d.getElementsByTagName(s)[0];
       if (d.getElementById(id)) {return;}
       js = d.createElement(s); js.id = id;
       js.src = "https://connect.facebook.net/en_US/sdk.js";
       fjs.parentNode.insertBefore(js, fjs);
     }(document, 'script', 'facebook-jssdk'));
}
socialSignIn() {

    FB.login((response)=>
        {
          console.log(' FB.login : ',response);
          if (response.authResponse)
          {
            console.log('login success - userid : ' , response.authResponse.accessToken);
            this.accessToken = response.authResponse.accessToken;
            this.userID = response.authResponse.userID;
            console.log('access token : ' , this.accessToken);
            console.log('userid : ' , this.userID);

            FB.api('/me', { fields: 'id,name,first_name,middle_name,last_name,email'},
              function(response) {
                console.log(response);

                if (response && !response.error) {
                  console.log(response);
                }
                else{
                  console.log('sign in');
                }
              });


           }
           else
           {
           console.log('User login failed');
         }
      });
  }

Я ожидаю автоматического выхода из приложения при выходе из своего Facebook.Может кто-то помочь мне с этим ?Спасибо.

И еще одна проблема в том, что я не могу перенаправить с входа на домашнюю страницу, даже если я использую this.router.navigate в конце метода SocialSignIn ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...