Базовая HTTP аутентификация — HTTP Basic
Это самая простая форма аутентификация, встроенная в протокол HTTP. Учётные данные для входа в систему передаются в заголовках запроса при каждом запросе:
"Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" your-website.com
Имена пользователей и пароли не шифруются, а объединяются в строку имя_пользователя:пароль и кодируются с помощью base64.
Метод является stateless, поэтому клиент должен предоставлять учётные данные при каждом запросе. Он подходит для вызовов API, а также для простых процессов аутентификации, не требующих постоянных сессий.
- Неавторизованный клиент запрашивает ограниченный ресурс.
- Сервер отправляет HTTP 401 Unauthorized и добавляет в ответ заголовок WWW-Authenticate со значением Basic.
- Заголовок WWW-Authenticate: Basic заставляет браузер запросить имя пользователя и пароль.
- После ввода учётных данных они передаются в заголовке с каждым запросом: Authorization: Basic dcdvcmQ=
Преимущества и недостатки
Преимущества | Недостатки |
---|---|
Поскольку в этом методе не так много операций, аутентификация выполняется быстро. | Учётные данные передаются в base64, который, по сути, является другим представлением обычного текста. Закодированную в base64 информацию легко декодировать. В связи с этим обязательно использовать HTTPS/SSL. |
Простота реализации. | Учётные данные должны передаваться при каждом запросе. |
Поддерживается всеми основными браузерами. |