Как использовать OpenID на моем новом веб-сайте ASP.NET? - PullRequest
5 голосов
/ 10 апреля 2009

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

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

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

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

Адам

Ответы [ 2 ]

5 голосов
/ 10 апреля 2009

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

Рецепт для включения OpenID вашего сайта

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

5 голосов
/ 10 апреля 2009

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

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

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

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

Имеет смысл?

-Oisin

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