Как работает OpenID? - PullRequest
       3

Как работает OpenID?

6 голосов
/ 10 ноября 2010

Может кто-нибудь помочь мне понять, как работает OpenID?Меня интересуют следующие ответы:

  1. Вам все еще нужно хранить идентификаторы и пароли пользователей при использовании OpenId?
  2. Как мое приложение создает новый сеанс при входе пользователя в системуin?
  3. Когда пользователи выходят из приложения, нужно ли мне что-либо делать, кроме очистки их данных сеанса?Нужно ли информировать сервер openId?

Ответы [ 2 ]

3 голосов
/ 10 ноября 2010

Я недавно создал систему аутентификации openid, вот как она работает.

Логин:

  1. Пользователь вводит открытый URL (не обязательно уникальный),
  2. Провайдер Openid проверяет и предоставляет уникальный открытый URL, в случае успеха.
  3. Поместите этот URL в сеанс.

запрос на аутентификацию:

есть таблица, которая отображает URL-адрес openid для пользователя.

для каждого запроса:

  1. Поиск открытого URL в сеансе
  2. Если существует, ищите запись пользователя и приложите его к запросу
  3. Обработка запроса.

Вам все еще нужно хранить идентификаторы пользователей и пароли при использовании openId?

userIDs yes, пароли no (если вы не предоставите другие способы входа, кроме openid)

Как мое приложение узнает и создать новый сеанс, когда кто-то входит в

Сеансы обрабатываются как обычно, сеансы предназначены для аутентифицированных и не прошедших проверку пользователей.

Когда я использую журналы из моего собственного приложение, мне нужно сделать что-нибудь больше, чем просто очистить их сессию из моего приложения? (Нужно ли мне сообщить серверу openId?)

Нет.

3 голосов
/ 10 ноября 2010

Мое понимание следующее:

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

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

  3. Вам по-прежнему необходимо хранить некоторую информацию о пользователях, поскольку сведения о том, как они могут использовать вашу систему, должны храниться в вашей системе.

Итак, если Google является поставщиком открытого идентификатора, SO может подтвердить, что я вошел в Google и являюсь тем, кем я себя называю.Затем SO говорит: отлично, этот пользователь является hvgotcodes в нашей системе и дает мне привилегии, которые имеют смысл для того, кто я есть в SO.

В ответ на ваш конкретный вопрос о выходе из системы вы по-прежнему регистрируете пользователя в своей системе после того, как провайдер открытого идентификатора проверит учетные данные пользователей, и, следовательно, вы можете обрабатывать их состояние выхода из вашей собственной системы.1019 *

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