Хорошо, у меня есть веб-сайт, на котором вы можете зарегистрироваться и войти в систему. Вы также можете войти в систему со своей учетной записью facebook, twitter или linkedin.
Важно, чтобы у пользователей была только одна зарегистрированная учетная запись. Так или иначе, я хочу объединить учетные записи пользователей, если они используют разные методы для входа в систему. Как лучше всего решить эту проблему?
Например, пользователь входит в систему со своей учетной записью Facebook. Я использую эти данные для автоматической регистрации для него аккаунта. Следует ли мне отправить электронное письмо с именем пользователя и паролем нашего веб-сайта? (Если это не противоречит политике Facebook). Должен ли я дать им второй экран, где они могут ввести имя пользователя и пароль? Но идея входа в свою учетную запись Facebook не в этом. Это должно упростить вашу процедуру участия.
Также возможно, что пользователь зарегистрировался на нашем веб-сайте и в следующий раз войдет в систему со своей учетной записью Twitter. Как я могу объединить эти 2 аккаунта в одну? Как лучше всего?
Итак, в основном мой вопрос: у меня есть 4 разных способа, которыми пользователь становится участником нашего веб-сайта. Как я могу убедиться, что все эти 4 способа создают только одну учетную запись, если пользователь решает использовать несколько способов? Как лучше всего убедиться, что это не доставляет хлопот самому пользователю?
Редактировать:
Через 3 года после того, как я задал этот вопрос, я сам даю ответ в серии статей: http://www.sitepoint.com/series/using-social-networks-as-a-login-system/