Revencu
@Revencu

Как сделать логин на сайт через Facebook?

Используя Javascript FB SDK я получаю status='connected'
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'app-id',
      cookie     : true,
      xfbml      : true,
      version    : 'v2.12'
    });
      
    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'));

function facebook_login(){
	FB.login(function(response) {
		if (response.status === 'connected') 
		{
		var userID=response.authResponse.userID
			FB.api('/'+userID+'?fields=id,name,email,birthday,gender,picture', function(userinfo) 
		  	{ 
                        console.log(userinfo.email)
		  	});
		} 
		else 
		{}
    })
}
</script>


Но как на бэкенде узнать что юзер емайл есть в базе? Просто проверить полученный емайл не походит - любой может сделать такой запрос. Может FB пингует какую-то страницу на моём сайте с каким-то токеном?
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
Revencu
@Revencu Автор вопроса
Нашёл решение:
вернуть емайл на бэкенде через:
https://graph.facebook.com/me?fields=email&access_token={{token}}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы