Можно ли сохранить сеанс Facebook в живых? - PullRequest
4 голосов
/ 15 февраля 2012

Я обнаружил, что через определенное время сеанс Facebook, созданный с использованием Javascript SDK, истекает. Я ценю, что сеанс не может длиться вечно, но есть ли способ сохранить пользователя на моем сайте неопределенно долго, если, конечно, он не выходит из Facebook?

Я использую Javascript SDK в сочетании с PHP SDK, и мне очень трудно найти решение этой проблемы.

Если сеанс не существует, тогда PHP не может обнаружить пользователя, и поэтому мой сайт считает, что они вышли из системы, хотя на самом деле сеанс просто истек, и им просто нужно обновить страницу, чтобы позволить Javascript SDK восстановить сеанс. Причина, по которой мне нужно так отчаянно сортировать это, заключается в том, что пользователь увидит страницу с сообщением о том, что он не вошел в систему, хотя на самом деле это так. Все, что им нужно сделать, это обновить страницу, чтобы отправить новый сеанс в PHP SDK

Обновление страницы с помощью javascript здесь не является решением, так как это происходит слишком часто, и выглядит не очень хорошо, загружая половину страницы, а затем автоматически обновляя

Есть ли что-нибудь вокруг этого?

UPDATE

Я нашел статью, которая ссылается на что-то под названием offline_access, это может быть ответом? Могу ли я публиковать сообщения, используя это?

1 Ответ

2 голосов
/ 15 февраля 2012

Используйте разрешение "offline_access", чтобы продлить срок действия ваших токенов доступа и тем самым сделать ваши сеансы вечными (или до тех пор, пока они не устареют в мае).

из Расширенные разрешения Facebook

Позволяет вашему приложению выполнять авторизованные запросы от имени пользователя в любое время.По умолчанию срок действия большинства маркеров доступа истекает через короткий промежуток времени, чтобы приложения выполняли запросы от имени пользователя только тогда, когда оно активно использует приложение.Это разрешение делает маркер доступа, возвращенный нашей конечной точкой OAuth, долгоживущим.

...