DotNetOpenAuth Мне нужна помощь, пожалуйста - PullRequest
1 голос
/ 11 января 2011

Я знаю, что это было опубликовано ранее, но никогда не отвечал, я использую DotNetOpenAuth, чтобы попытаться выполнить вход в GoogleID, и каждый раз, когда я делаю details = OResponse.GetExtension<ClaimsResponse>(); Я всегда, всегда, всегда возвращаюсь ноль, я неВ чем смысл GoogleID, если я не могу получить какую-либо информацию, я думаю, что по крайней мере я получу адрес электронной почты, чтобы я мог связать его с другой информацией для входа в систему в моей базе данных.Я просто не понимаю, мог бы действительно использовать некоторую помощь, я, вероятно, просто смотрю на openID неправильно.

Я использую ASP.NET и ищу использовать openID / Facebook в качестве единственного средства входа в систему.пользователи, я действительно не хочу связываться с ролями членства или дополнительным мусором, который ASP.NET любит добавлять.

Ответы [ 2 ]

0 голосов
/ 12 января 2011

Да, об этом спрашивали и отвечали много раз. Google поддерживает AX. Но он игнорирует любые атрибуты, помеченные как «необязательные». Так что если вы хотите адрес электронной почты, вы должны сказать, что адрес электронной почты является обязательным атрибутом.

Расширение ClaimsResponse, которое вы проверяете, не AX - это простая регистрация. Но если у вас включено поведение AXFetchAsSregTransform (настоятельно рекомендуется), тогда оно позволяет вам использовать исключительно ClaimsRequest и ClaimsResponse, и DotNetOpenAuth автоматически переводит в и из AX за кулисами ,

В качестве альтернативы, вы можете использовать FetchReqest и FetchResponse, чтобы говорить AX напрямую с Google.

Но (и я не могу забить это достаточно сильно), не используйте адрес электронной почты в качестве уникального идентификатора пользователя !!! Вместо этого используйте строку IAuthenticationResponse.ClaimedIdentifier как уникальный идентификатор. Адрес электронной почты обычно следует рассматривать как полезный совет, который можно использовать для предварительного заполнения регистрационной формы. Вы даже не должны доверять тому, что получаемый вами адрес электронной почты действительно находится под контролем пользователя (это одна из причин, почему он не должен рассматриваться как их уникальный идентификатор), поскольку поставщик может лгать вам. Google и Yahoo - два провайдера, которые обещают (если вы решите им доверять), что адреса электронной почты были проверены, поэтому вы можете при желании пропустить шаг проверки электронной почты для пользователей.

0 голосов
/ 11 января 2011

Похоже, что сервер OpenID Google не поддерживает AX или sreg.

...