Вопрос проверяет знание стандартных механизмов авторизации API.
Популярные способы авторизации — Basic Auth (логин/пароль), Bearer Token (обычно JWT), OAuth 2.0 (через сторонние сервисы), API ключи. Они отличаются уровнем безопасности, гибкостью и контекстом использования.
Основные способы авторизации в API:
Basic Authentication:
Заголовок: Authorization: Basic <base64(login:password)>
Простой, но ненадёжный без HTTPS.
Используется в простых/внутренних системах.
Bearer Token (чаще JWT):
Заголовок: Authorization: Bearer <token>
Токен подписан и содержит полезные данные (например, sub, exp).
Широко используется в современных REST API.
Безопасность зависит от длины и подписи токена.
OAuth 2.0:
Позволяет авторизоваться через Google, GitHub и другие провайдеры.
Использует токены доступа и обновления.
Подходит для стороннего доступа к API от имени пользователя.
API Key:
Передаётся как заголовок или query-параметр (X-API-Key, ?key=...)
Упрощённый способ для идентификации клиента.
Подходит для публичных API с ограничениями по rate-limit.
Session-based (редко в API):
Используется чаще в браузерах (cookie).
Не рекомендуется для REST (stateful).