gate-keeper
Сервис представляющий собой инструмент регистрации и аутентификации пользователей.
Регистрация производится по адресу электронной почты, имени, фамилии, паролю и подтверждению пароля. Электронная почта должна быть уникальной.
Пароль должен быть не меньше 8 символов.
Аутентификация производится по электронной почте и паролю.
Пароли хранятся в зашифрованном виде.
Используются токены доступа.
Технические требования и инфраструктура
Сервис предоставляет следующие HTTP-хендлеры:
POST /api/auth/register
— регистрация пользователя;
POST /api/auth/login
— аутентификация пользователя;
GET /api/users/me
— получение данных пользователя;
GET /api/auth/logout
— разлогирование пользователя;
GET /api/auth/refresh
— обновление токена доступа.
Установка
1. Клонируйте репозиторий на локальную машину.
git clone https://github.com/da-semenov/gate-keeper.git
2. В папке проекта необходимо создать файл .env
с данными для подключения к БД postgresql
.
В репозитории есть образец example.env
.
Для тестирования можно заменить название файла на app.env
3. Запустите сервис с помощью docker-compose.
docker-compose up gate-keeper
!!!
Иногда необходимо запустить эту команду пару раз из-за рассинхрона контейнеров.
4. Далее необходимо перейти в контейнер с приложением и произвести миграции БД.
go run migrate/migrate.go
Сервис готов к работе!
Так же для удобства тестирования была создана коллекция основных запросов, которую можно импортировать в Postman.
gate-keeper.postman_collection.json