facebook connect- $ user_id = $ facebook-> getUser (); всегда возвращает 0 [дубликаты]
На этот вопрос уже есть ответ:
Почему Facebook PHP SDK getUser всегда возвращает 0? 26 ответовПрежде, чем я скажу что-то, я хочу сказать, что я много в GOOGLEd, и было найдено много страниц (включая множество вопросов) с различными решениями ... но я пробовал каждую из них по очереди, но, к сожалению, ни одна из них работал на меня
with facebook-php-sdk Я пытаюсь войти в систему. в первые несколько раз он работал совершенно нормально (2–3 дня назад.). Сегодня, когда я снова начал работать с моим проектом, он больше не работает. когда я пытаюсь войти в систему, пользователь$facebook->getUser() is returning 0
.Но 3 дня назад это работало.
Я использовал приведенный здесь код :: Developers.facebook.com и да, я внес некоторые изменения, которые приведены с полным кодом ниже
МОЙ КОД ::0auth_provided_by_facebook.php
include_once $_SERVER['DOCUMENT_ROOT'].'dist/facebook-php-sdk/src/facebook.php';
$config = array(
'appId' => '***********',
'secret' => '*********',
'allowSignedRequest' => false, // optional but should be set to false for non-canvas apps
'cookie' => true,
'oauth' => true
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
if($user_id) {
try {
$user_profile = $facebook->api('/me','GET');
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl(array(
scope'=>'email,user_location,user_photos,publish_actions,publish_stream,basic_info',
'redirect_uri' => 'http://localhost/dist/include/0auth_provided_by_facebook.php'
));
echo '<a href="' . $login_url .'"> PLEASE CLICK HERE </a>';
error_log($e->getType());
error_log($e->getMessage());
}
} else {
$login_url = $facebook->getLoginUrl(array(
'scope' => 'email,user_location,user_photos,publish_actions,publish_stream,basic_info',
'redirect_uri' => 'http://localhost/dist/include/0auth_provided_by_facebook.php'
));
echo '<a href="' . $login_url .'"> PLEASE CLICK HERE </a>';
}
ВЫХОД: getUser () всегда возвращает 0.
Как работает мой процесс входа в систему, описанный ниже:
после нажатия на<a href="login_fb">Login using fb </a>
контроль переходит к моемуlocalhost/dist/index.php
теперь мой index.phpinclude
приведенный выше код, который находится в другом каталогеlocalhost/dist/include/0auth_provided_by_facebook.php
из этого файла я справляюсь со всем. при успешном и неудачном входе в систему Facebook возвращает значение здесь. Затем, при успешном входе в систему, пользователь снова перенаправляется на дом
Теперь вот полный список настроек моего приложения, которые я включил или отключил или изменил
1. App Domains : blank(according to the answer)
2. Site URL : `http://localhost/dist/include/0auth_provided_by_facebook.php?`
3. Native or desktop app? Disabled
4. Deauthorize Callback URL : `http://localhost/dist/include/0auth_provided_by_facebook.php?`
5. Social Discovery : enabled
6. Client OAuth Login : enabled
7. Embedded browser OAuth Login :enabled
8. App Secret Proof for Server API calls :enabled
9. Require 2-factor reauthorization : disabled
10. Valid OAuth redirect URIs :`http://localhost/dist/include/0auth_provided_by_facebook.php?` (according to the suggesion given in the answer)
11. Stream post URL security : enabled
это были детали.$user_id = $facebook-> getUser();
всегда возвращается0
во всех условиях. как я могу решить это?
if(signed_request)
всегда ложно.