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 устрйоства у которого украли токены)
- Сохранение логов
- 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