2010-11-22 3 views
0

My facebook app auth использует php api, который является большим, за исключением случаев, когда мне нужно auth на элементе ajax.получить сеанс facebook для использования в качестве параметров GET

Когда я использую загрузку jquery для ajax элемента на странице в Opera, он теряет аутентификацию, а затем перенаправляет на facebook login.php и затем перенаправляет обратно на страницу ajax (которая предназначена только для элемента всей страницы) ,

В любом случае, если бы он сохранял аутентификацию, он не перенаправлял бы ... так что я думаю, что если я передаю сеанс как параметр GET, тогда это не проблема. Как получить переменные сеанса из $ facebook?

+0

Вы используете режим cookie с PHP SDK? – 2010-11-22 19:51:30

+0

Я так думаю ... как мне включить его? – Starlin 2010-11-22 22:19:54

ответ

0

Я предполагаю, что вы находитесь в приложении iframe. Проблема в том, что Opera не разрешает использование файлов cookie в приложениях iframe. Все ваши другие браузеры читают сеанс Facebook из файла cookie, но Opera нет. Таким образом, для оперы вам придется полагаться на значение параметра запроса сеанса (или signed_request). Вы должны прочитать эти параметры из querystrin. Просмотрите фактический источник вашего окна iframe. Вы увидите, что ваш URL-адрес имеет либо параметр сеанса, либо параметр signed_request. После того, как вы прочтете эти значения из строки запроса, просто отправьте их точно так же, как они есть на ваш вызов ajax, и вам должно быть хорошо идти. Честно говоря, я бы просто полностью отключил cookies для приложения iFrame. Они ненадежны (чтение не работает во всех браузерах), что, на мой взгляд, означает, что вы не должны использовать их вообще.

Смежные вопросы