2009-12-09 2 views
3

Я использую модуль django_openid_auth и настроил его для автоматического создания новых учетных записей пользователей для новых OpenID. Это делает процесс «регистрации» действительно тривиальным, но я немного обеспокоен тем, что из-за того, что Google генерирует его токены OpenID, он может случайно создать новую учетную запись для существующего пользователя, создав им впечатление данных в их исходном счет потерян.Как Google сгенерирует маркеры идентификатора OpenID decl_id?

Насколько я могу судить, Google будет генерировать различные заявленные идентификаторы ID для разных доменных имен. Это www.site.com и site.com создадут два разных токена и, следовательно, две учетные записи в моей системе. Я исправил это, перенаправив www.site.com на сайт.com.

Есть ли какие-либо другие ошибки, о которых я должен знать? И может ли кто-нибудь указать мне в сторону некоторых подробностей о том, что Google использует для генерации идентификатора?

ответ

4

From the docs:

openid.realm

Аутентифицированный область. Определяет домен, к которому конечный пользователь запрашивается. (Пример: «http: //*.myexamplesite.com»). Это значение должно соответствовать домену, определенному в openid.return_to. Если этот параметр не определен, Google будет использовать URL-адрес, указанный в openid.return_to.

Значение области используется на странице Google Federated Login, чтобы идентифицировать запрашивающий сайт для пользователя. Он также используется для определения значения постоянного идентификатора пользователя, возвращаемого Google.

+0

Итак, по URL-адресу, я предполагаю, что включает в себя путь, а не только домен? Это могло бы объяснить это, так как return_to может быть глубокой ссылкой на сайт ... – Tom

+0

И если теперь я добавлю сферу, будет ли он испортить существующие идентификаторы, созданные Google? – Tom

+0

Хорошо, копая через код django_openid_auth, я вижу, что он правильно устанавливает openid.realm, к корневому URL-адресу сайта/домена. – Tom

0

У StackOverflow были те же проблемы с разными жетонами OpenID. Они подробно описывают проблемы и возможное решение (профили Google) на StackOverflow blog.

http://blog.stackoverflow.com/2009/11/google-offers-named-openids/

+0

Профили требуют от пользователя превентивного решения проблемы, которую они не знают, поэтому я не думаю, что это помогает. – Tom