Я изучаю новое веб-приложение, которое хочу разработать с использованием принципов HATEOAS, RESTful. Я изучаю схемы аутентификации, и информации для аутентификации веб-приложений (через браузеры, а не между компьютерами) немного не хватает.
После установления HTTPS-сессии и первоначального входа в систему нет необходимости в передаче токенов, файлов cookie, HMAC, одноразовых номеров и т. д. Базовая аутентификация или HMAC, OAuth и т. д. также не имеют значения: сеанс HTTPS безопасен.
Я, наверное, что-то упускаю. Вот как я представляю, как работает мое решение: -
- Пользователь переходит на страницу входа в веб-приложение (HTTPS://acme.com/login)
- Пользователь указывает имя пользователя и пароль
- Веб-сервис проверяет имя пользователя и пароль: разрешает доступ к авторизованным ресурсам
Чтобы сервер мог идентифицировать аутентифицированного пользователя при последующих запросах, он может:
- передать имя пользователя в виде открытого текста в качестве заголовка или файла cookie - это RESTful, IMO
- используйте идентификатор сеанса SSL (если он доступен для фреймворка) для поиска пользователя. Это не совсем RESTful, так как идентификатор сеанса необходимо хранить
Я не вижу причин использовать что-то еще, кроме HTTPS. Что я упускаю, какие уязвимости или недостающий функционал?
Спасибо!