Наръчник: Ротация на JWT ключове
Кога да ротирате
- При съмнение за компрометиране на private key
- Периодично (на всеки 6-12 месеца)
- При промяна на JWT конфигурацията
Последствия
- Всички съществуващи JWT токени стават невалидни
- Потребителите ще трябва да се логнат отново
- Клиентите ще получат 401 и ще направят re-auth автоматично
Процедура
1. Генериране на нови ключове
# Локално
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem
2. Обновяване на GitHub Secrets
В GitHub → Settings → Secrets → Actions:
JWT_PRIVATE_KEY— съдържанието наprivate.pemJWT_PUBLIC_KEY— съдържанието наpublic.pem
3. Обновяване на клиента
Ако публичният ключ е вграден в клиента:
- Обновете embedded public key в клиентския код
- Направете нов release
4. Deploy
Тригнете deploy-licensing.yml:
- Ръчно от GitHub Actions → Run workflow
- Или push промяна в
licensing-go/
5. Проверка
# API трябва да е healthy
curl -sf https://api.dictaro.ai/health
# Тест на login
# Отворете https://api.dictaro.ai/auth/login-page в браузъра