Социальная сеть (Facebook, Twitter и т. Д.) Интеграция учетных записей пользователей (дублированный сценарий)

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

Сценарий № 1
Пользователь регистрируется на сайте, используя аутентификацию сайта.
Затем пользователь входит в систему / регистрируется на сайте, используя Facebook Connect.
Затем пользователь входит в систему / регистрируется на сайте с помощью Twitter.

Как мне интегрировать все это в один аккаунт?

Очевидно, что как только пользователь зарегистрирован, он может добавить другие ассоциации социальных сетей на страницах настроек учетной записи. Но меня больше беспокоит, регистрируются ли они через другую социальную сеть, не помня, что они уже настроены.

Мои общие мысли пытаются найти способ использовать "имя пользователя" или электронную почту, чтобы попытаться угадать и представить пользователю способ объединения учетных записей прямо здесь.

У кого-нибудь есть мысли?

2 ответа

Следуя -

если ваши пользователи не могут вспомнить, что они подписались ранее, удачи им вообще;)

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

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

также не гарантируется, что пользователь использовал один и тот же адрес электронной почты для каждой учетной записи в социальной сети, поэтому даже если вам удастся получить адрес, он может вам или не понадобится.

наконец, если вы обнаружите совпадающие адреса электронной почты с помощью таких средств, было бы целесообразно предложить пользователю связать учетные записи, а не предполагать, что он / она хочет, чтобы это было сделано автоматически. Некоторые люди любят поддерживать несколько личностей. то есть "похоже, что вы также подписаны на твиттер - хотите ли вы связать свои аккаунты? это сделает вашу жизнь достойной жизни".

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

Решение, над которым я работаю, на стороне базы данных, состоит в том, чтобы поддерживать несколько учетных записей, и затем, если информация о ссылке обнаруживается различными способами, указанная ссылка указывается в таблице поиска. альтернативный вариант - как только вы найдете ссылку, попытайтесь объединить все соответствующие записи для нескольких учетных записей в одну учетную запись - все, что я могу сказать об этом последнем подходе, - это то, что я буду делать это с осторожностью, поскольку в зависимости от уровня сложности на уровне активности пользователя и сложности вашей схемы базы данных.

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

Кстати, я понял, как заставить OAuth в Твиттере вести себя со времени моего последнего поста - вы можете посмотреть другие мои ответы, если вам интересно.

JB

привет Мэтт,

Я работаю над той же проблемой прямо сейчас.

предполагая, что пользователь начинает с обычной учетной записи на сайте (что не всегда безопасно, если он видит все симпатичные кнопки "подключиться к сети XXX"!!!), вы можете использовать OAuth или API-интерфейсы javascript (facebookConnect или @anywhere - haven Я еще не полностью определился с последним, и я не уверен, что рекомендую его, поскольку я не думаю, что он предоставляет столь же богатый API, как и библиотеки бэкэнда) для входа на другие сайты.

API должны возвращать определенную информацию после успешного входа в систему / перенаправления из социальной сети, такую ​​как идентификатор пользователя и токен доступа, которые вы затем можете сохранить в своей базе данных в некотором качестве, связывая своего "фактического" пользователя приложения с идентификатором социальной сети. сеть.

когда пользователь возвращается на сайт, вы можете затем

1 проверить файлы cookie, установленные службами социальных сетей (различные схемы, как правило, проверяют подпись на основе хэша sha1 или md5 данных вашего приложения, под которыми я подразумеваю данные, которые вы получаете, когда регистрируете свое приложение в твиттере / фейсбуке, обычно это ключ пользователя), идентификатор приложения и т. д. - с полученными файлами cookie), чтобы вы знали, что пользователь вошел в социальную сеть.

2 найдите связь с вашей базой данных, как описано выше

3 войдите в систему вручную, исходя из предположения, что соединение Facebook / Twitter является безопасным.

предостережение: это так же безопасно, как ваша реализация (или такая же безопасная, как реализации facebook / twitter, если вы предпочитаете...)

хотя OAuth в твиттере в настоящее время, кажется, не работает должным образом, их общее описание процесса довольно информативно: http://dev.twitter.com/pages/auth

удачи.

J

Я обдумывал добавление FB auth в наше приложение, но мы знаем, что наши постоянные пользователи могут щелкнуть по нему и завершить оформление заказа для нового элемента, а затем удивиться, не увидев ни одного из своих существующих заказов. Чтобы решить эту проблему, когда пользователь щелкает пункт "Войти через Facebook", мы используем этот щелчок, чтобы открыть раскрывающееся меню с двумя вариантами:

макет

[ Войти с Facebook ]
[ Создать новый аккаунт ]
[У меня есть аккаунт]

Если пользователь нажимает "У меня есть учетная запись", мы отправляем его в FB auth и возвращаем письмо от FB в наше приложение. Мы сравниваем это письмо с нашими существующими пользователями. Если мы совпадаем, мы добавляем кредиты FB пользователю. Если нет совпадения, мы выдаем предупреждение:

Ваше электронное письмо с FB не соответствует ни одному из наших аккаунтов. Чтобы войти в существующую учетную запись, войдите под своим адресом электронной почты ниже или обновите адрес электронной почты в своей учетной записи Facebook

Это позволяет пользователю создать совершенно новую учетную запись, если он хочет держать их отдельно, без необходимости новой почтовой службы. Хотя это крайний случай, это особенность.

Другие вопросы по тегам