|
|
||
|---|---|---|
| db | ||
| keys | ||
| src | ||
| .gitignore | ||
| README.md | ||
| package.json | ||
README.md
Сервер-менеджер для ключей.
Этот сервер может понадобиться в разработке безопасного api, авторизации и аутентификации.
Ключевые особенности:
- Авторотация ключей (с возможностью указать интервал обновления)
- Генерация ключей (пока нельзя свой вставить и навсегда)
- Идеален для JWT и задач криптографии.
- Плавная ротация поддерживается (старые ключи живут некоторое время после создания нового).
- Оформлено в виде удобного api, с понятными конечными маршрутами.
- Хранилище в виде базы данных(sqlite) с собственной оберткой.
- AES-шифрование из коробки. Обязательно нужно обновить ключ в /keys перед продакшн-деплоем.
- Дружелюбный язык и стэк - node js, express. Это вам не сложный java и Spring Boot.
Краткое руководство
Суть
Предполагается, что:
- Сервис будет запускаться локально (извне обращения игнорироваться).
- Использоваться для благих целей.
Как пользоваться
Пользоваться им очень просто, как два пальца об асфальт.
Для создания ключа:
Нужно обратиться к /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
Все, это все что вам нужно знать, чтобы использовать этот сервис.