Я следую этому руководству: 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, который может использоваться для дальнейших запросов.
Надеюсь, это поможет.