Dertermine, если пользователь войти с Facebook или веб-сайт Логин? - PullRequest
0 голосов
/ 05 ноября 2011

На веб-сайте возможны два способа входа в систему - логин на Facebook или стандартный логин на сайте.

Как правильно определить, вошел ли пользователь в систему на Facebook или логин на сайте?

Я имею в виду добавление поля с именем login_type field в таблицу users.

value будет "facebook" или "standard"

Если пользователь вошел в систему через facebook, сохраните значениеlogin_type в сеансе что-то вроде $_SESSION['login_type'] = "facebook";

Однако, если пользователь хочет выйти из системы, нам нужно обязательно выполнить функцию выхода из Facebook.

Что-то вроде этого?

logout.php

if ($_SESSION['login_type'] == "facebook") { 
  $facebook->getLogoutUrl()
  //execute the url to CURL?
  header("LOCATION: index.php");
} 

1 Ответ

2 голосов
/ 05 ноября 2011
  1. Добавить поле для идентификатора пользователя Facebook в таблицу пользователей (например, fb_id)
  2. Когда пользователь входит в систему через Facebook, вы делаете то же самое, что делаете во время «обычного» журнала.в - но вместо проверки имени пользователя / пароля вы будете проверять идентификатор Facebook / токен доступа
  3. После этого вы можете просто аутентифицировать пользователя через его сеанс.Вам больше не нужно заботиться о входах в Facebook.
  4. При выходе из системы прервите свой собственный сеанс и т. Д., А затем вы можете перенаправить на URL-адрес выхода из Facebook, где Facebook будет убивать их сессионный материал.Вы не можете скрутить это, потому что вы не получите куки facebook.com.;) Это также приведет к выходу пользователя из Facebook, что может быть довольно раздражающим для него.

PS: чтобы понять, что такое 4 .: Если ваше приложение работает за пределами Facebook, вы должны войти в систему.пользователь выходит из Facebook, когда он выходит из вашего приложения / веб-сайта.Смотри I.6.в https://developers.facebook.com/policy/#policies.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...