Включаете несколько систем входа в систему? - PullRequest
1 голос
/ 30 марта 2011

У меня сейчас есть кое-что простое, схема userdb:

  • идентификатор пользователя - электронный идентификатор автоинкремента
  • адрес электронной почты
  • пароль

Я хочу включить Facebook и Twitter, как бы я справился с этим на стороне БД?

1 Ответ

3 голосов
/ 30 марта 2011

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

Или вы создаете дизайн, в котором вы можете подключить несколько логинов к одному пользователю. Это закончится чем-то вроде

  • идентификатор пользователя
  • id facebookuser (nullable)
  • id twitteruser (nullable)

Это, возможно, даст вам много адресов электронной почты (и все же никакого пароля! Так как вы не являетесь поставщиком учетной записи); или нет вообще. Зависит от того, насколько этот пользователь доверяет вам в каждом провайдере.

Edit: Вы также можете нормализовать данные без обнуляемых значений. Вы можете сделать это, имея

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