Skip to content

Сервис JWT аутентификации с MongoDB

Notifications You must be signed in to change notification settings

ykkssyaa/Auth_Service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auth_Service

Сервис аутентификации

Запуск

Запуск контейнеров postgres и самого приложения docker compose --env-file ./config/.env up -d

Для комфортной работы со всеми методами API можно воспользоваться моей коллекцией запросов в Postman

При отсутствии возможности использовать Postman

  1. Генерация токенов curl --location 'http://localhost:8091/auth?id=b0d4ce5d-2757-4699-948c-cfa72ba94f10'
  2. Генерация токенов по Refresh-токену curl --location 'http://localhost:8091/refresh?token=c93152736f95acde00f2bad31fbf01' --header 'id: b0d4ce5d-2757-4699-948c-cfa72ba94f10'

Описание сервиса

Данный сервис генерирует 2 JWT токена по полученному GUID пользователя.
Генерируется Access и Refresh токены. Каждый имеет своё время жизни

  • Access - 2 часа
  • Refresh - 1 неделя

В случае с Access время жизни формируется в самом токене, и актуальность токена проверяется самой программой. В случае с Refresh токеном - он добавляется в MongoDB в зашифрованном виде, при этом сам документ в базе данных имеет заданное выше время жизни с помощью TTL индекса.

Access токен хранит в себе время создания, время жизни токена, GUID пользователя, а также иная информация. img.png

Refresh токен - это хеш-код, созданный на базе GUID пользователя с некоторыми дополнениями. Каждый раз генерируется новый токен.

Для удобства проверки ТЗ я добавил .env файл в репозиторий. Но в реальном проекте я бы этого бы не сделал, так как этот файл хранит важную информацию

Контейнеризация в Docker

Для запуска всего сервера в контейнерах был описан Dockerfile для описания образа в Docker. С помощью docker-compose файла был описан основной ряд контейнеров, которые нужно запустить.

Используемые технологии

About

Сервис JWT аутентификации с MongoDB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published