/Flask_Auth_JWT

Авторизация, JWT

Primary LanguagePython

Cервис авторизации с системой ролей, написанный на Flask с использованием gevent.

API для сайта и личного кабинета

  • регистрация пользователя;
  • вход пользователя в аккаунт (обмен логина и пароля на пару токенов: JWT-access токен и refresh токен);
  • обновление access-токена;
  • выход пользователя из аккаунта;
  • изменение логина или пароля (с отправкой email вы познакомитесь в следующих модулях, поэтому пока ваш сервис должен позволять изменять личные данные без дополнительных подтверждений);
  • получение пользователем своей истории входов в аккаунт;

API для управления доступами

  • CRUD для управления ролями:
    • создание роли,
    • удаление роли,
    • изменение роли,
    • просмотр всех ролей.
  • назначить пользователю роль;
  • отобрать у пользователя роль;
  • метод для проверки наличия прав у пользователя.

Как запустить проект

Для запуска проекта следует скопировать файл .env.example и переименовать на .env

cp .env .env.example
cp db.env db.env.example

Запустить проект с помощью Docker

docker-compose -f docker-compose.yml build
docker-compose -f docker-compose.yml up

Для создания суперпользователя

flask create_admin admin1 password1

После запуска проекта, у вас будет доступ к документации проекта