конфликт в социальных сетях

Я создаю новое приложение, которое потребует многократной социальной регистрации, помимо обычной регистрации по электронной почте / паролю, однако есть конкретный случай, который может вызвать проблемы с целостностью данных …


Пример:

  1. Пользователь подписался на Facebook, но письмо не было возвращено.
  2. Я создаю в БД пользователя с адресом электронной почты и паролем, равным NULL, и записью в социальном профиле с его идентификатором, токеном и именем провайдера.
  3. Затем пользователь в следующий раз регистрируется с помощью электронной почты и пароля, поэтому я создаю для него новую запись в таблице пользователей.

И теперь у него есть 2 записи для одного человека.

как мне разобраться с этим делом?

0

Решение

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

0

Другие решения

обычно, если адрес электронной почты нулевой, потому что пользователь использует что-то еще для входа в Facebook (например, номер телефона)

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

Не используйте электронную почту в качестве первичного ключа;) и не забывайте, есть внутренний логин / пароль для всех пользователей. Facebook Twitter — это просто другой способ входа в систему, но не основной механизм.

1

По вопросам рекламы [email protected]