Ответ
Плюсы:
- Автоматическая отправка с каждым запросом (не нужно писать код для передачи токена)
- Защита от XSS-атак при использовании флага
HttpOnly - Удобное управление сроком жизни через
Expires/Max-Age - Встроенная CSRF-защита с
SameSiteатрибутом
Минусы:
- Уязвимость к CSRF (если не использовать
SameSite=Strict/Lax) - Ограничение размера (~4KB на куку)
- Сложнее работать с мобильными приложениями
- Нельзя получить токен из JS при
HttpOnly
Пример настройки безопасной куки:
Set-Cookie: token=xyz; HttpOnly; Secure; SameSite=Strict; Path=/; Max-Age=3600