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

  1. JWT
  2. Basic auth
  3. API Endpoints
  4. Политика безопасности в отношении пароля

Структура исходных данных для шаблонов

Схема работы сервиса отчетов

с версии 2.5.0 допускает исп-ние плейсхолдеров в составе строк, при этом его значение должно быть строкой!

Примеры запросов

  1. Запрос отчёта: /api/reports/:
    http post localhost:8000/api/reports/ title=RSS612 object="Test company" data={"foo":111333}
  2. Очистка кэша: /api/reports/purge-cash/:
    http delete localhost:8000/api/reports/purge-cash/

API Endpoints

Тип Адрес Параметры Ответ, пример Описание Разрешения
GET /api/group/ {'testGroup': {'id': 1, 'users': [{'user_id': 1, 'username': 'user', 'phone': 8885552277}, {'user_id': 2, 'username': 'test2'}, {'user_id': 3, 'username': 'test3'}]}, 'testGroup2': {'id': 2, 'users': [{'user_id': 2, 'username': 'test2'}]}}
состав полей может меняться
staff only
GET /api/user/list [{'username': 'user', 'id': 1, 'groups': [{'id': 1, 'name': 'testGroup'}], 'phone': 8885552277}, {'username': 'test2', 'id': 2, 'groups': [{'id': 1, 'name': 'testGroup'}, {'id': 2, 'name': 'testGroup2'}]}, {'username': 'test3', 'id': 3, 'groups': [{'id': 1, 'name': 'testGroup'}]}]
состав полей может меняться
staff only
GET /api/user/ Все поля за исключением пароля authorized only
GET /api/user/1/ Все поля за исключением пароля staff only
POST /api/reports/ {title: 'RSS-612', object: 'Компания "Рога & копыта"' data={"foo":123456}} HTTP 200 || 400 если параметры не верны.
{"access":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjI2MjI5Mjc3LCJqdGkiOiI0MWZiODIzOTBjMTA0NDI2OTE5ODE2YThkYzA3YjU0ZiIsInVzZXJfaWQiOjJ9.hfNfwRjkH4yYuYB9wC8ghXEO29i9Bl-VuCGrVUaQwnw","message":"File get from cash","href":"/downloads/RSS_test.xlsx"}
authorized only
POST /api/reports/pdf {title: 'RSS-612', object: 'Компания "Рога & копыта"' data={"foo":123456}} HTTP 200 || 400 если параметры не верны.
{"access":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjI2MjI5Mjc3LCJqdGkiOiI0MWZiODIzOTBjMTA0NDI2OTE5ODE2YThkYzA3YjU0ZiIsInVzZXJfaWQiOjJ9.hfNfwRjkH4yYuYB9wC8ghXEO29i9Bl-VuCGrVUaQwnw","message":"File get from cash","href":"/downloads/RSS_test.pdf"}
authorized only
DELETE /api/reports/purge-cash/ HTTP 200 {message:ok} staff only

Политика безопасности в отношении пароля

  1. Минимальная длина - 6 символов
  2. Пароль не может состоять только из цифр.
  3. Пароль не должен быть слишком похож на другие атрибуты. К-т совпадения - 0.7, чтобы это не значило.
  4. Слишком простой и часто используемый пароль. Джанго сверяет пароль со своей БД в которой около 20000 простых паролей.