Невозможно получить доступ к Facebook Sign_request с вкладкой iframe - PullRequest
2 голосов
/ 03 мая 2011

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

isset($_REQUEST['signed_request']

всегда ложно. Так как я использую Facebook PHP SDK, я также попробовал

$facebook->getSignedRequest();

Я выполнил print_r для $ _REQUEST и не вижу там подписанного запроса. Когда я печатаю_файл $ facebook, я вижу, что подписанный запрос пуст

[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 для приложения.

Ответы [ 6 ]

12 голосов
/ 25 мая 2011

ОК, только что сам столкнулся с проблемой и нашел проблему.

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

Контент будет отображаться, бит 301 приведет к тому, что подписанный запрос будет нулевым.

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

6 голосов
/ 14 декабря 2011

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

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

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

2 голосов
/ 08 сентября 2011

У меня была такая же проблема, и я ее решил. Это проблема с URL. Будьте уверены, что ваш 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 не будет работать

1 голос
/ 05 мая 2011

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

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

0 голосов
/ 19 марта 2013

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

0 голосов
/ 04 мая 2011

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

...