OpenID. Как вы выходите

На веб-сайте я реализовал вход в систему с использованием OpenID (на основе Stackru).

Но я не могу выйти из системы.
На моем хосте я могу выйти, но когда пользователь пытается войти снова (особенно с Google), аутентификация проходит без необходимости ввода имени и пароля.

Как я могу указать провайдеру OpenID, что пользователь больше не вошел на сайт?

4 ответа

Решение

OpenID аутентифицирует пользователей на вашем сайте, когда затем начинает сеанс на вашем сайте. Вы уничтожаете или аннулируете сеанс своего сайта отдельно от сеанса пользователя с его поставщиком OpenID.

Пользователь заходит на joewidgets.com > Пользователь входит в систему с OpenID (с новым или существующим сеансом провайдера) > ... Пользователь щелкает выход> joewidgets.com уничтожает / делает недействительным сеанс.

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

В Social Lipstick есть аргумент, который вызывает "Единый выход", но OpenID в настоящее время не предоставляет эту функцию.

Это называется Single Logout или Single Sign-Out, которые OpenID не поддерживает. На мой взгляд, SSO без выхода из системы - большая дыра в безопасности. Выход из одного сайта не имеет большого значения, если другие могут войти с помощью нескольких кликов.

На данный момент мы должны помнить поставщика. Если это кто-то, кого мы знаем, мы запускаем для них процесс выхода. Для Google, URL-адрес,

https://www.google.com/accounts/Logout

Выход из системы уродлив, но он выполняет свою работу.

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

"Это особенность, а не ошибка"

Поставщик идентификатора может оставить пользователя авторизованным для поставщика с помощью файлов cookie, а также может отказаться от запроса пользователю об обмене той же информацией, которая была предоставлена ​​ранее (с подсказкой). Поэтому, когда пользователь на Сайте A, запрашивается авторизация через Сайт B и перенаправляется, Сайт B сначала запрашивает у пользователя аутентификацию себя или себя. Затем сайт B спросил, должен ли он делиться какой-либо информацией (и иногда какой информацией) с сайтом A. В этот момент он также обычно спрашивает, хотите ли вы автоматически делиться этой же информацией в будущем. Некоторые поставщики предполагают, что да, некоторые нет, некоторые не спрашивают. Затем сайт B перенаправляет на сайт A и делится информацией, в которую вы вошли.

Если сайт A делает второе перенаправление на сайт B для запроса входа в систему, сайт B может: 1) уже иметь cookie-файл, который аутентифицирует текущего пользователя сайта B. 2) уже иметь запись о том, какую информацию приемлемо передать на сайт B. 3) Автоматически обмениваться этой информацией через перенаправление, не останавливаясь, чтобы запросить пользователя вообще.

Эта особенность основана на удобстве.

Другие вопросы по тегам