Authlogic, logout, захват учетных данных и безопасность
Хорошо, это что-то странное. Я установил authlogic-oid в моем приложении rails сегодня. Все работает отлично, но для одного маленького неудобства.
Вот что я сделал:
Сначала я регистрируюсь в своем Google OpenID. Успешный вход в систему, перенаправление и мой адрес электронной почты, а также мой правильный openid хранятся в моей базе данных. Я счастлив, что все работало нормально!
Теперь, когда я выхожу из системы, мое приложение rails как обычно разрушает сессию и перенаправляет меня обратно на мой корневой URL, где я могу снова войти в систему. Теперь, если я пытаюсь войти, он все еще помнит мой последний идентификатор входа. Не большая проблема, так как я всегда могу "войти как другой пользователь", но мне интересно, есть ли способ не только выйти из моего приложения, но и выйти из Google.
Я заметил то же самое с открытой системой аутентификации переполнения стека.
Вы можете спросить, почему я так обеспокоен этим? Но разве это неплохая идея, если конечный пользователь вашего веб-приложения, находящийся в кибер-кафе, считает, что он вышел из вашего приложения и, следовательно, из своего аккаунта Google, но позже понял, что его аккаунт Google был взломан некоторыми недостойный неудачник, который просто случайно заметил, что тот, кто был до него, не вышел из Google и не сказал... изменил свой пароль!!
Должен ли я быть параноиком? Разве это не серьезная ошибка безопасности при реализации спецификации openid? Возможно, сегодня кто-то может дать мне решение этой проблемы, и вопрос для меня решен. Но как насчет других, которые внедрили openid в свои приложения и не реализовали обходной путь?
2 ответа
Если это такая большая проблема для вас, не используйте OpenID или не отображайте всплывающее окно DHTML после успешного выхода из системы, напоминая пользователям, что их сеанс все еще действителен для их поставщика OpenID.
Что касается OpenID от Google, то, вероятно, вы можете перенаправить пользователей по следующему URL после
Afaik, вы не можете выйти из своей учетной записи в другой системе. Ваше приложение должно отвечать только за собственный бизнес. Как пользователь, я был бы очень удивлен, если бы сайт, использующий openid, мог выйти из моей учетной записи Google.
Да, есть сценарий, при котором пользователь может предположить, что он вышел из Google, потому что он вышел из системы на вашем сайте, но это будет (и должно быть) по его собственной вине.