Проблемы с привязкой к учетной записи Facebook с другим адресом электронной почты

#.net #sql #asp.net-mvc #facebook

#.net #sql #asp.net-mvc #Facebook

Вопрос:

Как мне поступить с пользователями, подключающими свою учетную запись на моем веб-сайте к своей учетной записи FB, когда их электронная почта fb не совпадает с электронной почтой их учетной записи пользователя в моей базе данных? Должен ли я игнорировать их электронную почту fb, а затем просто связать их идентификатор FB с электронной почтой, которую у меня есть для них? Или мне создать новую учетную запись с электронной почтой fb и идентификатором fb?

Кроме того, если бы я хотел разрешить пользователям связывать свою учетную запись на моем веб-сайте с несколькими адресами электронной почты, каков наилучший способ разработки базы данных для этого? Нужна ли мне таблица электронных писем, которая имеет отношение внешнего ключа к таблице Users?

Ответ №1:

Как разработчик Facebook, вы не имеете доступа к адресу электронной почты учетной записи Facebook пользователя, если они специально не предоставят вам расширенное разрешение. На практике это редкое событие, поэтому лучше всего создавать локальную систему, не полагаясь на адрес электронной почты Facebook пользователя. Единственное, на что вы можете рассчитывать, это их Facebook ID.

Создайте свой веб-сайт таким образом, чтобы, когда пользователь привязывает свою учетную запись Facebook к учетной записи на вашем веб-сайте, вы связывали учетную запись веб-сайта с Facebook ID. Это должно быть все, что вам нужно. Самый простой способ — просто добавить что-то вроде facebook_id столбца в вашу таблицу users и поместить в нее индекс. Таким образом, вы можете найти учетную запись локального веб-сайта с помощью Facebook ID.

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

Комментарии:

1. Спасибо, вы затронули хороший момент, хотя это борьба между упрощением пользовательского интерфейса и более высокой конверсией facebook connect. Я думаю, что могу сделать что-то среднее — если это новый пользователь, запросите адрес электронной почты, если нет, в электронной почте нет необходимости.