2013-08-21 3 views
1

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

Мы хотели бы внедрить логин OAuth (Facebook, Twitter, Google и т. Д.) В качестве перка для наших пользователей, и в настоящее время мы изучаем варианты рефакторинга, чтобы это разрешить.

Мой вопрос: есть ли способ разрешить использование логинов OAuth, не заставляя каждый из наших учетных записей иметь уникальный адрес электронной почты?

ответ

1

Я изменил свой предыдущий ответ после того, как вам было предоставлено больше информации для этого требования. Если бы я был вами, я сделал бы это так:

  1. Пользователь нажимает на Login через Facebook и ключи в его учетных данных.
  2. Мое приложение получает токен доступа.
  3. Я удалю конечную точку /me конечной точки API-интерфейса FB, чтобы получить информацию о пользователе и уникальный идентификатор пользователя.
  4. Как только у меня есть уникальный идентификатор пользователя, я бы затем проверил свою собственную БД, если есть запись для этого пользователя. Если у меня есть две записи, я дам пользователю другое всплывающее окно, чтобы выбрать учетную запись, которую он хочет войти, и ввести для этого пароль.
    (Итак, моя база данных должна иметь <userID, list of mapped accounts> записи.)

Если пользователь решил создать новую учетную запись и журналы в через Facebook, я бы повторить шаги 1-3 и создать новую <username, password> пару и добавить это в список сопоставленных учетных записей.

Добавить комментарии, если вы хотите, чтобы я уточнил.

+0

Я думаю, вы неправильно поняли мой вопрос, так как «логин через Google/Fb/Twitter» - это именно то, о чем я прошу. – FtDRbwLXw6

+0

Я изменил ответ @drrcknlsn. Я думаю, это то, что вы хотите. – divyanshm

+0

На самом деле, это хороший подход. Спасибо, я думаю, что попробую это. – FtDRbwLXw6

Смежные вопросы