Я следую этому руководству: https://developers.facebook.com/docs/howtos/login/getting-started/
Все работает нормально в отношении входа. Я не понимаю, как я обрабатываю «сеансы»:
Я использую PHP, MySQL, JavaScript и HTML5.
Я полагаю, что вместо сеансов используется FB.getLoginStatus?
FB.getLoginStatus
используется, чтобы помочь вам оптимизировать работу ваших посетителей на основе их статуса входа и, следовательно, это не замена « сеансов ».
Я должен проверять FB.getLoginStatus каждый раз, когда пользователь вводит новую страницу на моем сайте. Означает ли это, что я должен инициализировать JavaScript SDK для каждой страницы? Thats 50 строк кода для каждой страницы, чтобы проверить статус входа …
Ну, инициализация Javascript SDK – это то, что вам нужно сделать, если вы хотите использовать SDK. Теперь я не вижу ничего плохого в количестве строк кода , поскольку Facebook уже загружает SDK асинхронно и, следовательно, не блокирует ваши ресурсы страницы.
И для вашего первого момента вам не нужно каждый раз называть FB.getLoginStatus
при загрузке страницы, и Facebook уже заявляет об этом в соответствующем документе :
В любое время вы можете вызвать
FB.getLoginStatus
(например, когда пользователь пытается выполнить социальное действие), большинство социальных приложений должны знать статус пользователя как можно скорее после загрузки страницы. В этом случае, а не при вызовеFB.getLoginStatus
явно, можно проверить статус пользователя, установивstatus: true
когда вы вызываетеFB.init
.Чтобы получить ответ на этот вызов, вы должны подписаться на событие
auth.statusChange
. Объект ответа, переданный этим событием, идентичен объекту ответа, который будет возвращен при явном вызовеFB.getLoginStatus
.
Теперь одна вещь, которую вы, возможно, пропустили, – это PHP-SDK :
SDK для PHP может работать совместно с SDK для Javascript для обеспечения бесшовного управления сеансом как на стороне клиента, так и на стороне сервера.
Это облегчило бы вашу жизнь, поскольку у вас возникла бы идея о статусе пользователя после (до) загрузки страницы и, соответственно, настройка пользовательского опыта, а затем дождаться любого изменения статуса, инициированного Javascript SDK.
Из области разработчиков Facebook кажется, что у них есть раздел о том, как войти в систему, не вызывая их Javascript SDK.
https://developers.facebook.com/docs/howtos/login/client-side-without-js-sdk/
Пользователь будет иметь токен доступа к API, который может использоваться для дальнейших запросов.
Надеюсь, это поможет.