Простой web-сервис для выдачи и обновления JWT-токенов.
Для сборки требуется тулчейн Go версии 1.23. Для хранения данных используется PostgreSQL (в разработке использовалась версия 17).
Конфигурация производится с помощью переменных среды, которые также можно задать в файле .env.
- JWT_DB_HOST: Хост базы данных, по умолчанию localhost
- JWT_DB_PORT: порт базы данных, по умолчанию 5432
- JWT_DB_USER: имя пользователя базы данных, обязательная
- JWT_DB_PASSWORD: пароль базы данных, по умолчанию пустое значение
- JWT_DB_DATABASE: Название базы данных, по умолчанию совпадает с именем пользователя
- JWT_SIGNING_KEY: Ключ, закодированный в base64, которым будут подписываться токены. Обязательная
Если какая-либо из этих переменных не будет задана, сервис не сможет отправлять электронные письма.
- JWT_SMTP_ADDR: адрес в формате host:port
- JWT_SMTP_USER: Имя пользователя
- JWT_SMTP_PASSWORD, Пароль
- JWT_SMTP_SERVICE_EMAIL: Адрес, с которого будут отправляться сообщения
Все параметры передаются в виде JSON в теле запроса. Сервис предоставляет два эндпоинта:
POST /get-token
- guid: guid пользователя, которому будут выданы токены
- access: Токен доступа
- refresh: Токен обновления
В теле запроса должна находиться пара токенов, выданная get-token. В случае успеха, в ответе будет новая пара.