Я использовал facebook-php-sdk 4.0 для входа в систему.
Несколько дней назад все было нормально, но вдруг однажды в логине Facebook всплыло окно с предупреждением, сказав, что отправили на проверку логина, некоторые из разрешенных разрешений не были одобрены для использования фейсбуком.
Я передаю документ https://developers.facebook.com/docs/apps/review/login удалено разрешение «user_location». Затем окно предупреждения исчезло, но больше не может войти.
Тот же код на другом сайте работает нормально.
Так что я думаю, что если что-то случится на mangatown.com просто как заблокировано или что-то подобное?
код такой:
<?php
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookRequestException;
use Facebook\GraphUser;
use Facebook\FacebookSession;
session_start();
FacebookSession::setDefaultApplication($_facebook['app_id'], $_facebook['secret_key']);
if (is_loggedin()) {
location($_system['web_url']);
}
$redirect = function ($url) {
header('Location:'.$url);exit;
};
$helper = new FacebookRedirectLoginHelper($_system['web_url'].'connect/facebook.php');
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $e) {
$msg = "Facebook Error, code: ".$e->getCode()." with message: ".$e->getMessage();
error_log($msg);
return header('Location:'.$_system['web_url']);
} catch(Exception $e) {
$msg = "Facebook Error, code: ".$e->getCode()." with message: ".$e->getMessage();
error_log($msg);
return header('Location:'.$_system['web_url']);
}
if(!$session) {
$redirect($_system['web_url']);//$session always null..
}
try {
$me = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
} catch(FacebookRequestException $e) {
$msg = "Facebook Error, code: ".$e->getCode()." with message: ".$e->getMessage();
error_log($msg);
return header('Location:'.$_system['web_url']);
}
$fb_user_id = $me->getId();
$fbEmail = $me->getEmail();
$ session = $ helper-> getSessionFromRedirect (); всегда имеет значение null.
в чем дело?
Задача ещё не решена.
Других решений пока нет …