Как связать двух провайдеров OpenID как одного и того же пользователя - PullRequest
2 голосов
/ 03 января 2011

Я реализовал OpenID на своем веб-сайте, и мне любопытно, как такие сайты, как stackoverflow.com, могут сказать, что моя учетная запись gmail связана с моей учетной записью facebook.

Например, я захожу на stackoverflow.com дляв первый раз, и я вхожу, используя мою учетную запись Gmail.Затем я выхожу, удаляю куки из моего браузера и возвращаюсь на stackoverflow.com, но на этот раз я использую facebook вместо gmail.Каким-то образом stackoverflow.com знает, что моя учетная запись Facebook связана с моей почтой Gmail, потому что все мои пользовательские настройки восстанавливаются с момента моего первого входа в Gmail.Очевидно, что stackoverflow знает, что мои учетные записи gmail и facebook являются обоими.

Возвращаясь к моей реализации: Когда я вхожу в систему своих пользователей, используя gmail или facebook, я получаю сообщение от RPX с некоторой пользовательской информацией, такой как ихимя и адрес электронной почты.Можно ли с уверенностью сказать, что если у меня есть пользователь, который входит на мой веб-сайт со своей учетной записью Gmail, joe@gmail.com, а затем входит в систему с помощью своей учетной записи Facebook, и его учетная запись Facebook также использует joe@gmail.com, что он на самом делетот же человек?

Так ли другие люди достигают той же цели?

1 Ответ

2 голосов
/ 03 января 2011

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

Еще один способ сделать это - предоставить функциональность для ссылкидве учетные записи на вашем сайте.Что я хочу сказать, так это то, что я видел реализованную социальную аутентификацию, где, если вы входите в систему с использованием OpenID или Facebook, каждый из них будет отдельной сущностью.Прежде чем пользователь попытается использовать другую систему для входа в систему, вы можете предложить им подключиться к своей учетной записи Facebook / Twitter / OpenID.Немного социальной инженерии может избавить вас от многих проблем.У вас, конечно, возникнет проблема, если они не не подключатся, а затем перейдут к отдельному входу.TripIt позволяет мне объединять отдельные учетные записи в одну.Вы могли бы предоставить эту функцию.

Просто некоторые мысли.

...