Подтвердить что ты не робот

OpenId + запомнить/остаться в системе

У меня вопрос о том, как и как лучше всего использовать OpenId, а также предоставить возможность оставаться в системе.

Если я посмотрю на Stackoverflow, например, я вошел в систему с помощью Google, и если я закрою браузер и вернусь, он все равно получит меня, как вошел в систему.

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

Итак, мой вопрос: какие лучшие практики OpenId и запоминание аутентифицированных пользователей через сеансы?

4b9b3361

Ответ 1

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

Лично я считаю поведение, которое вы описываете на StackOverflow довольно естественным. Если OpenID не был на картинке, и вы вошли в веб-сайт с именем пользователя/паролем на двух разных компьютерах с постоянным файлом cookie (очень распространенный сценарий), и вы изменили свой пароль на одном, я не удивлюсь, если другой компьютер все еще вошел в систему. Вы могли бы назвать это дырой в безопасности, но это по-прежнему обычная практика. Так что нормальный факт, что Gmail недавно добавил дисплей внизу экрана "Входящие", который сообщает вам, где еще вы вошли в систему, и дает вам возможность аннулировать файлы cookie сеанса.

Я бы предположил, что подобный подход может быть применен любым RP, независимо от метода аутентификации. И это, вероятно, смягчит обеспокоенность по поводу безопасности.

Ответ 2

Переполнение стека, вероятно, использует куки файл, чтобы запомнить вас как номер пользователя xyz или идентификатор сеанса 1234. После аутентификации OpenID больше не имеет отношения к сеансу. SO не имеет возможности увидеть, если вы все еще вошли в Google, поэтому это кажется естественным.