Почему мое приложение OpenID получает другой Google OpenIDs от различных клиентских машин для того же пользователя?

существует wikibook, который довольно хорош для изучения python.

я не знаю, как Викиучебник для других языков, но я лично узнал о Python из wikibook, как это было в феврале 2007

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

5
задан Andrew Swan 23 November 2009 в 02:35
поделиться

1 ответ

Google использует функцию OpenID, называемую направленная идентификация , что означает, что Google создает новый, уникальный и некоррелированный идентификатор для каждого RP (веб-сайта, принимающего OpenID) пользователь входит в систему. Это не вариант - это единственный способ работы Google. Ключ, по которому Google различает RP, - это параметр openid.realm, поэтому, если он будет одинаковым, вы получите одинаковые идентификаторы для своих пользователей. Но если вы когда-нибудь смените область, все идентификаторы ваших пользователей будут потеряны, поскольку Google отправит новый сайт идентификаторов для ваших существующих пользователей.

Что вы можете с этим сделать? Два варианта:

  1. оставить openid.realm постоянным, чтобы идентификаторы не менялись.
  2. использовать AX, чтобы «потребовать» адрес электронной почты пользователей, когда поставщиком является Google, а затем вы можете сделать корреляцию между идентификаторами Google на основе адреса электронной почты. (хотя и сложно: много разветвлений безопасности при манипуляциях между идентификаторами openid и электронной почты).
10
ответ дан 13 December 2019 в 22:10
поделиться
Другие вопросы по тегам:

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