Нужен ли нам поток на стороне клиента или на стороне сервера, или оба для реализации входа в систему с помощью функции Facebook? - PullRequest
1 голос
/ 12 марта 2012

В настоящее время на моем веб-сайте пользователи входят в систему со своим логином и паролем, они также должны ввести свои 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 для входа пользователя: поток на стороне сервера и поток на стороне клиента.Какой из них или оба требуются для этого варианта использования?

Кроме того, какие проблемы могут возникнуть при реализации функций, описанных выше?

1 Ответ

1 голос
/ 12 марта 2012

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

Проблемы, которые могут возникнуть: я не уверен, но могут быть юридические ограничения на хранение идентификатора пользователя Facebook.Кроме того, что если кто-то (не я, злой человек!) Зарегистрируется на моем адресе электронной почты, и вы не подтвердите, что он действительно имеет доступ к этому адресу - тогда, когда я войду в систему через Facebook, приложение будет считать, что мытот же человек и злой хакер теперь имеют доступ к моей учетной записи.Невероятный сценарий, но может случиться ...

...