Не удается получить доступ к Facebook signed_request с вкладкой iframe

У меня есть загрузка iframe на вкладке facebook на странице поклонника, и мне не удастся получить доступ к объекту $ _REQUEST ["signed_request"]. Я запутался, потому что это должно быть халява и легкодоступно. Я прочитал и перечитал документы в facebook и перепрофилировал мои настройки приложения facebook, но ничего не работает.

isset($_REQUEST['signed_request'] 

всегда ложь. Поскольку я использую PHP PHP sdk, я также пробовал

 $facebook->getSignedRequest(); 

Я сделал print_r в $ _REQUEST, и я не вижу signed_request там. Когда я печатаю_ $ объект facebook, я вижу, что signedRequest пуст

 [appId:protected] => XXX [apiSecret:protected] => XXXXXXXXXXXXXXXXXXXX [session:protected] => Array [access_token] => XXXXXXXXXX|2.h75WqKxcA1xbNPufFvpKQQ__.3600.1304452800.1-726960374|JiO0ZS30SyLaApeqhMtdocK8B_Y [base_domain] => XXXXXXXXX [expires] => 1304452800 [secret] => rDF9C_z43_EUFy0Q_e6tyQ__ [session_key] => 2.h75WqKxcA1xbNPufFvpKQQ__.3600.1304452800.1-726960374 [sig] => 1971ef7eb8057c7404eae1f82d770ab5 [uid] => XXXXXXXXXXXXXXX [signedRequest:protected] => [sessionLoaded:protected] => 1 [cookieSupport:protected] => 1 [baseDomain:protected] => [fileUploadSupport:protected] => 

[EDIT] У меня установлен параметр OAuth 2.0 для приложения.

Хорошо, просто это было на проблему и я нашел проблему.

Убедитесь, что у вас нет перенаправления 301 на холсте или на странице вкладок. В моем случае я установил приложение как «mydomain.com/facebook/tab/», но мой сайт делал 301 на « www .mydomain.com / facebook / tab /»,

Содержимое показало бы, что бит 301 вызвал значение signedRequest равным нулю.

Добавлен «www» в мой домен в настройках приложения, а signedRequest теперь содержит данные, которые я искал.

У меня была эта проблема. Наконец понял это. Мне пришлось добавить косую черту в конец URL-адресов вкладки в настройках приложения на вкладке «Основные».

Вместо: http://domain.com/facebook

Мне нужно: http://domain.com/facebook/

У меня была та же проблема, и я ее разрешаю. Это проблема с URLS. Убедитесь, что ваш URL-адрес домена для домена и страницы совпадает с тем же доменом, например:

1) Домен приложения: example.com URL страницы страницы: example.com будет работать

2) Домен приложения: example.com URL страницы страницы: example.com/app/ будет работать

3) Домен приложения: fb.example.com URL страницы вкладок: fb.example.com/app/ будет работать

4) Домен приложения: fb.example.com URL-адрес страницы страницы: example.com/fb не будет работать

После некоторого расследования я подозреваю, что это связано с тем, где размещается источник iframe.

Когда я переместил все на localhost, signed_request начал нормально.

Измените настройки своего приложения вкладок. На вкладке «Дополнительно» убедитесь, что включен параметр «OAuth 2.0 для холста».

это старый вопрос, но я нашел это с помощью google … проблема для меня заключалась в том, что я вручную переадресовал https-url моего pagetab и потерял $ _POST ['signed_request']