почему я не могу увидеть подписанный запрос на всех своих страницах приложений в Facebook? - PullRequest
1 голос
/ 12 сентября 2011

мое приложение facebook состоит из нескольких страниц php, и первая страница появляется в URL-адресе холста. Я могу получить данные пользователя из параметра signature_request, например:

 $app_id = "1111111111111111";

 $canvas_page = "http://www.mydomain.com/fb/app/";

 $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,read_stream";


 $signed_request = $_REQUEST["signed_request"];


 list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

 $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

 if (empty($data["user_id"])) {
        echo("<script> top.location.href='" . $auth_url . "'</script>");
 } else {
        echo 'welcome user';
      } 

, но когда я перехожу на другие страницы илистраница в iframe в моем приложении, я не вижу этот параметр.так что это только первая страница, загруженная на холст, что Facebook отправляет этот параметр

1 Ответ

1 голос
/ 12 сентября 2011

Правильно. Только первая страница, загруженная в iframe, получит параметр signature_request. Вы должны проанализировать его и затем перенести все необходимые данные на последующие страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...