Разные способы защиты API-эндпоинтов
→ API-ключи
Клиент отправляет ключ в заголовках или query-параметрах
👍 Просто реализуется
👎 Нет идентификации пользователя, легко утечь
→ OAuth2 (токены доступа)
Механизм авторизации через токены с областью доступа и сроком действия
👍 Тонкая настройка прав доступа, широко поддерживается
👎 Более сложная настройка
→ JWT (JSON Web Tokens)
Самодостаточный токен с наборами claims
👍 Без состояния (stateless), хорошо масштабируется
👎 Сложно отзывать, больше размер
→ Basic Auth
Отправка Base64(username:password) в заголовке
👍 Удобно для быстрого тестирования
👎 Никогда не используйте в продакшене
→ mTLS (взаимная TLS-аутентификация)
И клиент, и сервер проверяют сертификаты друг друга
👍 Высокий уровень доверия и шифрования
👎 Сложная инфраструктура и управление сертификатами
Для внутренних сервисов → mTLS + токены с коротким сроком жизни
Для публичных API → OAuth2 + scopes (области доступа)
Для тестирования/разработки → API-ключи или Basic Auth
👉 Java Portal
Post #1518
2.03K
- ❤ 6
- 🔥 1