Продвинутый
Можно ли отозвать (инвалидировать) JWT токен до истечения его срока?
По своей природе JWT — это stateless токен. Сервер его не хранит, а только проверяет подпись. Поэтому "удалить" его из БД нельзя.
Как решают проблему отзыва (Logout / Бан юзера):
1. Короткий TTL: Делать Access Token на 5-15 минут. Ждать, пока сам протухнет.
2. Blacklist (Черный список): Сохранять хэши отозванных токенов в Redis. При каждом запросе API Gateway проверяет токен по Redis. Минус: Убивает идею stateless.
3. Смена секрета: Если сменить секретный ключ на сервере, ВСЕ выданные токены станут невалидными (используется при глобальном взломе).