Когда user.user_id () изменяется в приложении App Engine с использованием аутентификации OpenID? - PullRequest
2 голосов
/ 21 января 2011

У меня есть приложение, использующее ванильную поддержку OpenID с платформы GAE. Я использую user_id() как общий - как я понимаю неизменный - идентификатор для всего, что касается пользователей.

Но время от времени я замечаю, что user_id меняется для некоторых пользователей. Что вызывает изменение в user_id для пользователя?

1 Ответ

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

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

С другой стороны, провайдер Google OpenID действует в зависимости от домена: когда пользователь входит в систему со своей учетной записью Google, он генерирует новый пользовательский URL-адрес OpenID, который зависит от домена, в который он входит. к. Если ваше приложение существует в нескольких доменах и аутентифицирует пользователей на каждом, вы получите разные OpenID URL (и, следовательно, user_id) для одного и того же пользователя в каждом домене.

Это, к сожалению, следствие того, как работает поставщик Google OpenID, и на самом деле с этим ничего не поделать, кроме того, что он работает только в одном домене или просит ваших пользователей объединить свои URL-адреса OpenID.

...