Skip to content

Сервис на golang, шаблон проекта с подключенным jwt токенами

Notifications You must be signed in to change notification settings

Makhkets/user-service

Repository files navigation

User Service based on -> Golang (Gin framework) \ Postgresql (goose migrator) \ Redis \ Docker \ Swagger \ Makefile \ Unit Tests

  • ⚡ Высокопроизводительный фреймворк - Gin
  • ⚡ Высокопроизводительный логгер - Uber Zap Logger
  • 🔥 Документация Swagger

  • Аутентификая с помощью JWT
  • Роли юзеров (user, moderator, admin)
  • Middleware для каждой роли
  • Шифрование паролей, с использованием secret key
  • Сохранение всех сессий аккаунта юзера, с дальнейшим получением информаций всех сессий (user-agent, ip, refresh tokens, fingerprint, datetime)
  • Бесконечная сессия, до тех пор, пока человек не будет в афк месяц
  • Использование Postgres (goose) \ Redis \ Docker \ Makefile
  • Высокая защита аккаунта от кражи access / refresh токенов (при авторизации сверяется fingerprint устрйоства у которого украли токены)
  • Сохранение логов

swagger.png

URLS:

  • GET /api/users
  • GET /api/user/:id
  • DELETE /api/user/:id
  • GET /api/user/:id/sessions
  • POST /api/user/:id/change_username
  • POST /api/user/:id/change_password
  • POST /api/user/:id/change_status
  • POST /api/user/:id/change_permission
  • GET /api/user/test
  • GET /api/user/me
  • POST /api/users
  • POST /api/user/login
  • POST /api/user/refresh

Postman_SsREk2Br10.png

Postman_SCWCC2jOAx.png Postman_TZAc4BszEX.png

Postman_kNMwy9MZw4.png

About

Сервис на golang, шаблон проекта с подключенным jwt токенами

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages