Веб-сайт двойной вход с Facebook и / или по электронной почте - PullRequest
2 голосов
/ 27 октября 2011

Я планирую разработку веб-сайта, который в значительной степени зависит от интеграции с Facebook, поэтому в первую очередь я буду подталкивать пользователя к использованию опции «вход в Facebook». По какой-то причине я не хочу исключать пользователей, которым не нравится вход в систему через Facebook, поэтому я реализую классическую регистрацию пользователей по электронной почте и паролю.

Теперь мои вопросы:

  • Как правильно управлять обоими именами входа? Должен ли я хранить пользовательские данные fb в записи, сохраняя при первом входе в систему (в качестве регистрации) их fb_userid в качестве ссылки для использования их данных в моем приложении? Могу ли я получить и сохранить (при условии согласия пользователя) их электронную почту в Facebook при первом посещении?

  • Что произойдет, если пользователи, которые зарегистрировались только по электронной почте, однажды захотят войти через Facebook? Будет ли это создавать новую запись пользователя или я должен объединить два логина в уникальную запись пользователя?

  • Нужно ли устанавливать файлы cookie и сеанс для пользователей fb или нет?

Сейчас я вижу много сайтов, которые используют двойной вход, но я так и не понял, как им это удается. В первый раз я думал использовать только логин на Facebook, но многие предположили, что это плохая идея. Что ты думаешь?

Спасибо за вашу помощь!

1 Ответ

3 голосов
/ 27 октября 2011

У меня тоже самое. что я делаю:

таблица моих пользователей содержит: id, facebook_uid, email, пароль

  1. если кто-то подключается - я создаю для него нового пользователя, уникальный идентификатор AI, задаю идентификатор пользователя facebook, адрес электронной почты и генерирую случайный пароль. я посылаю ему пароль по почте.

  2. , если кто-то регистрируется - Facebook UID 0

  3. кто-то пытается зарегистрироваться, и электронная почта уже существует с идентификатором facebook - он имеет пароль в письме или может использовать забытый пароль и т. Д.

  4. кто-то пытается подключиться, и электронная почта уже существует - я использую уже существующую учетную запись:

Мой подход заключается в том, что я могу проверить электронную почту, отправив ему ссылку для подтверждения. fconnect является подтверждением для меня. в этом случае я хочу дать ему учетную запись (так как он владеет электронной почтой). я могу попросить его ввести пароль, восстановить его и отправить его.

Конечно, вы можете обрабатывать каждый из этих случаев по-разному - базовый подход - проверенная электронная почта = у вас есть учетная запись. fconnect = подтвержденный адрес электронной почты

РЕДАКТИРОВАТЬ: отметить как только пользователь fconnected - я устанавливаю параметры входа в сеанс / cookie. я не хочу делать запросы к серверам facebook при каждом просмотре страницы

...