JWT key rotation
Embed JWT подписан ключом из in-memory store. Каждый ключ имеет kid — указывается в JWT header.
Ротация
/app/security → JWT signing keys → Сгенерировать новый ключ.
- Новый ключ становится
active - Старые ключи становятся
passive— валидируют существующие JWT до их exp, но не подписывают новые - Когда все JWT, подписанные старым ключом, истекут — он удаляется автоматически
Принудительная инвалидация
KeyRevocator может пометить kid как revoked ДО естественного TTL — например, при подозрении на компрометацию ключа. Все existing JWT с этим kid немедленно отклоняются.