Архитектура для объединения нескольких учетных записей пользователей вместе

Хорошо, у меня есть веб-сайт, на котором вы можете зарегистрироваться и войти в систему. Вы также можете войти в систему со своей учетной записью facebook, twitter или linkedin.

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

Например, пользователь входит в систему со своей учетной записью Facebook. Я использую эти данные для автоматической регистрации для него аккаунта. Следует ли мне отправить электронное письмо с именем пользователя и паролем нашего веб-сайта? (Если это не противоречит политике Facebook). Должен ли я дать им второй экран, где они могут ввести имя пользователя и пароль? Но идея входа в свою учетную запись Facebook не в этом. Это должно упростить вашу процедуру участия.

Также возможно, что пользователь зарегистрировался на нашем веб-сайте и в следующий раз войдет в систему со своей учетной записью Twitter. Как я могу объединить эти 2 аккаунта в одну? Как лучше всего?

Итак, в основном мой вопрос: у меня есть 4 разных способа, которыми пользователь становится участником нашего веб-сайта. Как я могу убедиться, что все эти 4 способа создают только одну учетную запись, если пользователь решает использовать несколько способов? Как лучше всего убедиться, что это не доставляет хлопот самому пользователю?


Редактировать:

Через 3 года после того, как я задал этот вопрос, я сам даю ответ в серии статей: http://www.sitepoint.com/series/using-social-networks-as-a-login-system/

172
задан P.T. 22 August 2014 в 08:11
поделиться