2012-04-09 2 views
0

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

«Насколько я понимаю, OpenID работает таким образом, что пользователь отправляет учетные данные на сервер авторизации, и что TRUSTED сервер скажет, является ли этот пользователь законным или нет».

Теперь давайте возьмем пример Stackoverflow. Я вижу все эти значки для Yahoo и Google и все, и я думаю, Stackoverflow говорит, что это мои надежные провайдеры, и если они доверяют вам, я вам доверяю.

Теперь есть одна кнопка, которая говорит OpenID, и я могу пойти туда и зарегистрироваться там. Теперь это независимый сервер авторизации? Кто является поставщиком для этого?

Если я хочу вставить openID в свой веб-проект. Какой сервер авторизации я должен использовать? Я вижу этот OAuth как вариант, когда я ищу о OpenId; это сервер авторизации?

ответ

3

OpenID - это стандарт, а не поставщик услуг auth.

  • URI OpenID предоставляет достаточную информацию для доступа к поставщику auth для аутентификации.
  • Пользователь вводит свои учетные данные для входа на сайт провайдера. Этот шаг основан на том, что пользователь знает, как выглядит страница авторизации своего провайдера.
  • Ответ, в сочетании с заголовком referrer, предназначен для получения достаточной информации для надежной аутентификации пользователя.

OAuth является дополнением к OpenID.

[Google имеет достаточно хорошее объяснение потока: https://developers.google.com/accounts/docs/OpenID]

Многие веб-сайты предоставляют варианты для конкретных AUTH поставщиков только упростить процесс. URI OpenID неравномерны, поэтому вы не можете сказать (например), что URI будет с адреса электронной почты.

Некоторые провайдеры auth (например, Google) заставляют задуматься над тем, что ваш OpenID на самом деле, по-видимому, чтобы сделать учетную запись более прозрачной для пользователей (и впоследствии добавить брендинг на сайты сторонних сторон).

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

[Что касается "trustedness" из AUTH поставщиков, есть некоторые потенциальные проблемы: http://en.wikipedia.org/wiki/OpenID#Security]

[OpenID Foundation имеет официальные ответы: http://openid.net/get-an-openid/]

+0

OpenId еще есть понятие, где, например, , Google действует как поставщик OpenID и в stackoverflow, мы можем видеть Yahoo и Google как поставщики OpenID. Но, как я уже спросил, есть также ссылка для OpenID. это для людей, которые не имеют учетной записи Yahoo или Google или могут иметь ее, но все же не хотят использовать их для аутентификации, они могут продолжать хранить свои учетные данные в базе данных OpeinID.net и теперь OpenId.net будут работать как их сервер авторизации? Я думаю, что я запутываю OpenID с помощью OpenID.net сервера авторизации. Это верно? – TeaLeave

+0

Нет централизованной базы данных OpenId. Любой веб-сайт может быть поставщиком, если они захотят это сделать. Как ответил выше человек, дополнительное текстовое поле в StackOverflow позволяет перейти к любому провайдеру OpenId, а не к обычно используемым. – pdwetz

+0

Кроме того, если вы знаете свой URI для Google или Yahoo !, вы должны просто ввести его в текстовое поле и в итоге получить тот же рабочий процесс :) – Kazuaki