Я занимаюсь разработкой приложения 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 ().