OpenId + запомнить меня / оставаться в системе - PullRequest
19 голосов
/ 04 июня 2009

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

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

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

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

Ответы [ 2 ]

11 голосов
/ 04 июня 2009

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

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

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

4 голосов
/ 04 июня 2009

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

...