Skip to content

ZOONGG/custom-auth-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API с авторизацией и ролями

Это тестовый серверный API на Flask. В нём есть регистрация, вход и выход, профиль пользователя, мягкое удаление аккаунта, роли, права доступа и их проверка.

Возможности

  • регистрация и вход по адресу электронной почты и паролю;
  • сессии с токенами доступа;
  • просмотр и редактирование профиля;
  • мягкое удаление аккаунта без удаления записи из базы;
  • роли и права доступа;
  • ответы 401 и 403 при ошибках доступа;
  • API администратора для изменения правил доступа;
  • тестовые бизнес-эндпоинты для проектов и отчётов.

Технологии

  • Python
  • Flask
  • Flask-SQLAlchemy
  • SQLite
  • unittest

Запуск

Установить зависимости:

python -m pip install -r requirements.txt

Заполнить базу тестовыми данными:

python seed.py

Запустить сервер:

python -m app

API будет доступен по адресу http://127.0.0.1:5000.

Тесты

Автоматические тесты:

python -m unittest discover -s tests -v

Для ручной проверки сначала запустите сервер, затем в другом окне PowerShell выполните:

.\scripts\manual_smoke_test.ps1

Тестовые пользователи

Они создаются командой python seed.py:

Ответы API

401 Unauthorized означает, что пользователь не вошёл в систему или передал неверный токен.

403 Forbidden означает, что пользователь вошёл в систему, но у него нет нужного права.

About

Backend API with custom authentication and role-based access control

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages