В настоящее время на моем веб-сайте пользователи входят в систему со своим логином и паролем, они также должны ввести свои email
при регистрации.Столбцы login_id
и email
в таблице users
имеют уникальный индекс.В таблице users
также хранятся другие данные, связанные с пользователем, такие как gender
, last_name
, first_name
, но это необязательные (обнуляемые) поля.
Есть два изменения, которые я хотел бы внести ввеб-сайт.
Во-первых, пользователи могут использовать свою электронную почту (в дополнение к login_id
) для входа в систему.Для новых пользователей, когда они регистрируются, им больше не нужно предоставлять login_id
, потому что они будут использовать свою электронную почту для входа в систему.
Второе изменение заключается в том, что они могут войти через Facebook.Для новых пользователей, если они войдут в систему с Facebook впервые, их идентификатор Facebook будет получен и сохранен в моей базе данных.Это означает, что мне придется добавить столбец facebook_uid
в таблицу users
.
Для существующих пользователей, когда они впервые заходят на Facebook, я должен сначала получить их адрес электронной почты из их профиля на Facebookи затем проверьте, существует ли уже запись с этим адресом электронной почты в таблице users
, если да, их идентификатор Facebook также будет сохранен в столбце facebook_uid
этой записи.
Согласно Facebook, егоПлатформа поддерживает два разных потока OAuth 2.0 для входа пользователя: поток на стороне сервера и поток на стороне клиента.Какой из них или оба требуются для этого варианта использования?
Кроме того, какие проблемы могут возникнуть при реализации функций, описанных выше?