2009-04-10 3 views
5

Я должен быть глупым, потому что все статьи, которые я видел в OpenID в ASP.NET, просто смутили меня в этом вопросе. Я почти уверен, что понимаю понятия, которые здесь задействованы, я просто немного расплывчатый, как все выглядит на обратной стороне вещей.Как использовать OpenID на моем новом веб-сайте ASP.NET?

Так что новый пользователь приходит на мой сайт и хочет создать учетную запись. Наступает наводнение вопросов:

  • Это первый шаг здесь, когда он может выбрать, какой провайдер openID он будет использовать для входа?
  • Я предлагаю ему ввести имя пользователя в моей системе?
  • Нужно ли мне привязывать его к одному поставщику openID каждый раз, когда он возвращается, или он может каждый раз выбирать нового провайдера?
  • Как выглядит база данных здесь? У меня есть его имя пользователя в таблице и связано с провайдером openID?
  • Что делать, если у пользователя нет учетной записи OpenID? Должен ли я разрешить ему создавать традиционную учетную запись на моем конце, а затем представить себя как поставщик OpenID?

Что мне здесь не хватает? Я обычно довольно яркий, но эта область была похожа на криптонит на Супермена для моих умных разработчиков. Заранее спасибо!

Adam

ответ

5

Эта страница представляет собой учебник шаг за шагом по реализации OpenId на веб-сайте. Я считаю, что он ответит на все ваши вопросы о механике добавления.

A Recipe for OpenID-Enabling Your Site

Если пользователь не имеет OpenId, я бы просто позволить им зарегистрировать «нормально», хранение учетных данных для локального использования. Нет необходимости добавлять дополнительную сложность, чтобы стать поставщиком OpenID, если у вас нет бизнес-кейса для этого.

5

Чувак, вы не одиноки. OpenID смущает всех, кроме людей, которые его разработали, и даже тогда я не уверен, что это не смущает их, так как в них есть несколько поставщиков OpenID и небольшая несовместимость между ними, в зависимости от используемых вами библиотек.

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

Итак, в конечном счете, вы используете клиентскую библиотеку openid, которая выполняет вашу работу на вашем сайте. Они регистрируются как обычное заполнение «полное имя», «возраст» и т. Д. (Независимо от того, что вы хотите), но они предоставляют URL-адрес openid вместо имени пользователя/пароля. Библиотека ищет, проверяя, действительно ли она принадлежит. Вам нужно доверять этой библиотеке сделайте это. Затем вы сохраните все данные своего профиля с помощью этого файла openid.

Хотя вы могли бы предложить свой собственный провайдер openid, на данный момент это не стоит. хотя, предлагает традиционное имя пользователя/пароль INSTEAD от openid. Идея openid заключается в том, что ваш регистр ONCE с провайдером, а затем просто докажите, что вы владеете этим URL-адресом на любом сайте, который хочет использовать его для идентификации вас (вместо имени пользователя/пароль).

Смысл?

-Oisin

+0

Спасибо! Этот маленький самородок был тем, чего мне не хватало. Я бы хотел принять 2 ответа, но в другом ответе содержалось больше технических деталей, которые я также искал. –

Смежные вопросы