Запутался в OpenID и ASP.NET - PullRequest
       12

Запутался в OpenID и ASP.NET

2 голосов
/ 02 декабря 2011

Я не хочу добавлять другое имя пользователя и идентификатор в мир, поэтому я действительно хочу интегрировать openId в мой веб-сайт.Однако я запутался в этом.Я посмотрел на разные блоги об этом, и все они указывают на DotNetOpenAuth.Я подключил это, но не получил вполне то, что ожидал.

То, что я вижу, выглядит примерно так (из блога Скотта Хансельмана)

enter image description here

ЧтоЯ ожидал увидеть такой же опыт входа в систему, как и здесь, на stackoverflow.com

Я, очевидно, запутался в том, что такое OpenID.Может кто-нибудь помочь уточнить для меня?Еще лучше, может кто-нибудь указать, что мне нужно сделать, чтобы получить опыт stackoverflow.com.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Думайте об Open ID как о понятии слова провайдера, которое я «Джо».Есть много разных провайдеров, которых вы можете использовать.Facebook, Twitter, Stackexchange, Google, Yahoo и другие.Пользовательский интерфейс только использует поставщика OpenID.Если вы хотите улучшить интерфейс, посмотрите этот плагин jquery или этот.

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

Некоторое время назад я вел блог , в котором рассказывается о реализации DotNetOpenAuth на сайте MVC.Важно отметить, что метод ActionResult LogOn(string openid_identifier) берет URL-адрес, который нужен поставщику, и перенаправляет туда пользователя.Вы получите этот URL от одного из этих элементов управления.Если я правильно помню, он обрабатывает все для вас.Все, что вы делаете, это скажите, куда отправить форму.

Получив ответ (другой метод LogOn), вы можете его обработать.response.ClaimedIdentifier в основном идентификатор пользователя.Это будет отличаться для каждого пользователя.Если я войду в систему с помощью Google и Facebook, они будут разными для обоих, даже если я один и тот же человек.Если вы хотите, чтобы ваши пользователи могли входить в систему более чем с одним, вам нужно разрешить им ассоциировать имена входа и кодировать соответственно.

0 голосов
/ 02 декабря 2011

Хорошо, поэтому OpenID работает, общаясь с доверенными поставщиками openID (например, Google), чтобы сообщить сайту, кто вы.Пишите о том, как можно найти реализацию Google здесь http://www.readwriteweb.com/archives/google_clarifies_openid_implementation.php

Вот что я вижу, когда нажимаю на систему входа в систему комментариев Скотта Хансельмана.http://imagebin.org/186528 Обратите внимание, как текстовое поле OpenID добавляет URL-адрес?Я почти уверен, что весь стекопоток делает одно и то же - но имеет ссылку для нажатия, а не что-то менее полезное.

...