Простейший менеджер ключей
Go to file
Red fa9d24a0c5 First init 2025-09-27 02:16:54 +05:00
keys First init 2025-09-27 02:16:54 +05:00
src First init 2025-09-27 02:16:54 +05:00
.gitignore First init 2025-09-27 02:16:54 +05:00
README.md First init 2025-09-27 02:16:54 +05:00
package.json First init 2025-09-27 02:16:54 +05:00

README.md

Сервер-менеджер для ключей.

Этот сервер может понадобиться в разработке безопасного api, авторизации и аутентификации.

Ключевые особенности:

  • Авторотация ключей (с возможностью указать интервал обновления)
  • Генерация ключей (пока нельзя свой вставить и навсегда)
  • Идеален для JWT и задач криптографии.
  • Плавная ротация поддерживается (старые ключи живут некоторое время после создания нового).
  • Оформлено в виде удобного api, с понятными конечными маршрутами.
  • Хранилище в виде базы данных(sqlite) с собственной оберткой.
  • AES-шифрование из коробки. Обязательно нужно обновить ключ в /keys перед продакшн-деплоем.
  • Дружелюбный язык и стэк - node js, express. Это вам не сложный java и Spring Boot.

Краткое руководство

Суть

Предполагается, что:

  1. Сервис будет запускаться локально (извне обращения игнорироваться).
  2. Использоваться для благих целей.

Как пользоваться

Пользоваться им очень просто, как два пальца об асфальт.

Для создания ключа:

Нужно обратиться к /reg-key с такой структурой:

POST /reg-key
body: {
  "name": "Example",
  "update": 24
}

где:

  • update - интервал обновления
  • name - название ключа

Для получения ключа:

Тут тоже все просто, отличие лишь в способе передачи информации:

GET /get-key
query-параметры:
  - name
  - kid (опционально)

примеры: 
  - http://localhost/get-key?name=Example
  - http://localhost/get-key?name=Example&kid=4adc0149-49e7-45e7-b0af-5e0c4da5fe3f

Все, это все что вам нужно знать, чтобы использовать этот сервис.