Преминете към основното съдържание

Наръчник: Ротация на 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.pem
  • JWT_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 в браузъра