ClaimedIdentifier для учетных записей Google при использовании Dotnetopenauth - PullRequest
2 голосов
/ 28 февраля 2011

Сейчас я переключаюсь с Janrain Engange (rpxnow) на dotnetopenauth. В моей базе данных есть заявленные от моих пользователей идентификаторы, хранящиеся в форме

https://www.google.com/accounts/o8/id?id=AItOawnVaDz_Os6ysv4-tB0zlhFan1ltyHWa10k

При использовании engange я мог переключаться между средами dev, test и prod, и заявленные идентификаторы всегда оставались прежними. Поэтому я предполагал, что эти идентификаторы также будут одинаковыми при использовании dotnetopenauth. К моему удивлению, они знакомы, но не идентичны. Что делает вещи еще более запутанными, так это то, что кажется, что когда я меняю путь моего веб-приложения, например от http://localhost/ до http://localhost/mvc, заявленный идентификатор также изменяется.

Может кто-нибудь пролить свет на это, пожалуйста, и помочь мне сделать мои идентификаторы перемещаемыми из окружающей среды в другую

Кстати: перемещение других типов учетных записей, таких как Yahoo, работает без проблем

1 Ответ

6 голосов
/ 01 марта 2011

Google использует функцию OpenID, называемую «направленная идентификация», что означает, что заявленный идентификатор, который он отправляет RP, будет отличаться для той же учетной записи Google, которая входит в систему для каждого уникального RP.Yahoo и другие провайдеры не используют эту функцию, поэтому вы видите ее только для учетных записей Google.

Ключ, который Google использует для различения каждого RP, - это свойство IAuthenticationRequest.Realm, которое по умолчанию DotNetOpenAuth устанавливает каккорневой URL вашего веб-сайта.Вот почему разные URL-адреса хостинга, такие как http://localhost или http://localhost/mvc, получают разные заявленные идентификаторы.

Janrain Engage имеет различные уровни обслуживания, некоторые из которых (в прошлом я проверял) используют свое собственное доменное имя, причем имя вашего RP включено в качестве доменного имени 3-го уровня, как Царство, которое может затрудняет или делает невозможным прекращение использования их службы, поскольку все заявленные идентификаторы изменятся, что приведет к тому, что все ваши клиенты Google потеряют доступ к своим аккаунтам на вашем сайте.Однако, как я недавно слышал, Janrain хранит некоторые специальные данные учетной записи, чтобы сделать возможной миграцию с их службы.Я предлагаю вам связаться с их сотрудниками службы поддержки, чтобы спросить их, каков процесс.

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