(OpenID) Могу ли я использовать ClaimedIdentifier для поиска пользователей? - PullRequest
0 голосов
/ 08 октября 2009

Будет ли изменен ClaimedIdentifier?

Я планирую сохранить ClaimedIdentifier как поле поиска в моей таблице данных пользователя. Будут ли это проблемы в будущем? Я немного волнуюсь.

например:

var openid = response.ClaimedIdentifier.ToString();

Это дает мне значение: "https://www.google.com/accounts/o8/id?id=xxxxxxxx-e-xxxxxxxxxxxxxxxxxxxx"

Я не совсем уверен, использовать это для поиска пользователя в таблице данных.

Большое спасибо.

Daoming.

1 Ответ

4 голосов
/ 08 октября 2009

Да! Вы должны использовать ClaimedIdentifier для постоянного идентификатора пользователя, безусловно. Этот длинный URI, который вы видите в нем, является стабильным и правильным для хранения.

При этом имейте в виду, что Google использует истинную «направленную идентификацию», что означает, что если вы когда-либо измените область своего OpenID RP (обычно это означает доменное имя вашего веб-сайта), Google отправит другое URL для всех ваших существующих пользователей. Поэтому, если вы думаете, что это может когда-либо случиться с вашим сайтом, вы можете также сохранить адреса электронной почты своих пользователей, чтобы вы могли сопоставить их позже. Но для этого необходимо проверить адреса электронной почты и выбрать поставщиков, которым вы доверяете электронные письма (вероятно, только Google и Yahoo, и только если они предоставляют адреса электронной почты, заканчивающиеся доменами, которые они контролируют), yada yada. Это боль. Так что просто не меняйте доменное имя. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...