2

Я внедряю Facebook Login (для Интернета) в первый раз, и у меня возникли некоторые вопросы относительно сеанса пользователей и рекомендации по обработке выхода из системы. Прямо сейчас, я использую комбинацию JS SDK (только для потока входа, если js включен) и PHP SDK.Facebook Войти/Выход из системы Лучшие практики

Вопрос 1: Должен ли я сохранить токен доступа Facebook в сеансе PHP или использовать встроенную функцию «cookie: true» в SDK.

Вопрос 2: Если пользователь, который зарегистрировался через Facebook, вернется на сайт через несколько дней, должен ли он автоматически войти в систему или нажать кнопку входа через кнопку Facebook, а затем просто войти в систему?

Вопрос 3: Если зарегистрированный пользователь FB выходит из моего сайта, должен ли я их выходить из Facebook или только на моем сайте?

Вопрос 4: Если зарегистрированный пользователь FB выходит из Facebook, а также на моем сайте (на другой вкладке), должен ли я автоматически выходить из системы с моего сайта?

+1

Что касается вопроса № 3: В соответствии с Политикой на платформу вы запрашиваете пользователя, чтобы предлагать пользователю кнопку/ссылку выхода, которая регистрирует их на facebook.com в то же время. Что касается остальных - начните здесь: https://developers.facebook.com/docs/facebook-login/checklist/ – CBroe

+0

@CBroe О # 3: Действительно? Я не могу найти ничего об этом в своей политике. Не могли бы вы поделиться ссылкой, если знаете, что это существует? –

+0

@ Джонас: Ну, этот комментарий был довольно давно. Теперь этот документ переадресовывается здесь, https://developers.facebook.com/docs/facebook-login/best-practices#loggingout, а фразировка немного изменилась: «Когда люди вошли в систему, вы также должны дать им способ выйти из системы, отключить их учетную запись или удалить все вместе. "_ – CBroe

ответ

0

1) Вы можете сохранить токен доступа в базе данных (но будьте осторожны с датой истечения срока действия) или сохранить его в сеансе. Куки-файлы были бы самым простым способом справиться с этим и заботиться (2).

2) В зависимости от того, как ваш дескриптор сеансов и SDK вы используете, использование будет автоматически регистрироваться (например, метод JavaScript FB.getLoginStatus(), чтобы определить, было ли приложение уже завершено). В любом случае у вас должна быть кнопка «Войти с Facebook» для вашего приложения, для новых пользователей.

3) Если вы используете методы выхода из SDK (например, FB.logout() в JavaScript SDK), пользователь будет выходить из вашего сайта и Facebook. Это действительно зависит от того, как вы хотите справиться с этим. Вы можете их вывести, если ваш сайт, удалив сеанс/файл cookie.

4) Вы всегда должны проверять, зарегистрирован ли пользователь при каждом действии на вашем сайте. Если пользователь выходит из Facebook на своем сайте, в конечном итоге ваш сайт должен его забрать (используя FB.getLoginStatus()) и попросить их снова войти в систему.

0

3) Facebook решит, должен ли пользователь выйти из Facebook также или только ваш сайт/приложение, по крайней мере, при использовании JS SDK. С их документов, смотрите ссылку для некоторых ситуационных примеров:

«Метод FB.logout() регистрирует пользователь из вашего сайта, а в некоторых случаях , Facebook.» - Facebook docs

+0

Я бы предположил, что они основывают это решение о том, было ли другое действие «на» Facebook до того, как пользователь вошел в приложение. Если кто-то занимался серфингом в facebook.com до уже в браузере/устройстве, а затем записывается в приложение, кажется разумным вывести их из этого конкретного приложения; в то время как если они вошли в Facebook во время входа в приложение, это справедливое предположение, что они не могут продолжать использовать Facebook после, и поэтому безопаснее также выходить из них из Facebook. – CBroe