Я создаю приложение, в которое вы можете войти через Facebook , Twitter или с помощью нашего собственного внутреннего механизма. Проблема заключается в следующем сценарии:
- Я открываю приложение и авторизируюсь с помощью Facebook
- Я выхожу из системы
- Я открываю приложение и авторизируюсь с помощью Twitter
Приведенный выше сценарий приведет к тому, что у меня будет два пользователя в системе. Как предотвратить это, чтобы у меня была одна учетная запись, и не имеет значения, войду ли я с помощью Facebook / Twitter?
Каждый раз, когда пользователь входит в систему через Facebook, я также создаю внутреннюю учетную запись с именем пользователя Facebook и идентификатором Facebook в качестве пароля. То же самое при входе в систему через Twitter я создаю внутреннюю учетную запись с именем пользователя и идентификатором Twitter в качестве пароля.
Мне пришла в голову мысль решить эту проблему:
Когда пользователь входит в систему с помощью Twitter, проверьте имя и адрес электронной почты, если пользователь с такой информацией уже существует в базе данных. Однако имя и адрес электронной почты, которые они используют как в Facebook, так и в Twitter, могут не совпадать, поэтому это может работать не всегда.