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 во всех условиях. как я могу решить это?

для получения дополнительной информации .. хотя я не знаю, это поможет вам не ... я просматривал свой base_facebook.php, и я обнаружил, что он возвращает ноль из-заif(signed_request) всегда ложно.

Ответы на вопрос(4)

Ваш ответ на вопрос