Социальная сеть (Facebook, Твиттер, и т.д.) Интеграция Учетной записи пользователя (копируют сценарий),

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

Сценарий № 1
Пользователь регистрируется на сайте с помощью аутентификации сайта.
Пользователь затем подписывается в/регистры на сайте с помощью Подключения Facebook.
Пользователь затем подписывается в/регистры на сайте с помощью Твиттера.

Как я интегрирую все их в одну учетную запись?

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

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

У кого-либо есть какие-либо мысли?

14
задан Matt 7 July 2010 в 00:05
поделиться

1 ответ

продолжение -

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

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

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

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

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

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

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

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

btw я понял, как заставить twitter OAuth вести себя хорошо после моего последнего сообщения - вы можете посмотреть мои другие ответы для деталей, если вам интересно.

JB

привет Мэтт,

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

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

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

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

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

2 найти ассоциацию входа в вашу базу данных как описано выше

3 авторизуйте пользователя вручную на основе предположении, что facebook/twitter соединение безопасно.

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

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

удачи.

J

4
ответ дан 1 December 2019 в 16:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: