Обновить
4K+
2
Рыбальченко Никита Вячеславович@Neko1313

Пользователь

2
Рейтинг
Отправить сообщение

Authorization без middleware: как я завернул Casbin в декораторы для FastAPI

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.4K

Когда в FastAPI-проекте появляется нормальная авторизация, код быстро начинает расползаться в стороны.

Сначала все выглядит терпимо: один Depends(get_current_user), один Depends(get_enforcer), одна ручная проверка. Потом роутов становится больше, правил доступа становится больше, и внезапно половина endpoint’ов начинает содержать не бизнес-логику, а обвязку вокруг нее.

В какой-то момент меня перестал устраивать и классический подход через dependency injection в каждом роуте, и вариант с middleware. Хотелось, чтобы правило доступа было видно прямо рядом с маршрутом, но при этом не приходилось таскать авторизацию в сигнатуры всех функций.

В итоге я собрал casbin-fastapi-decorator — тонкий слой над Casbin для FastAPI, который позволяет описывать authorization через декораторы.

Идея простая:

Читать далее

Информация

В рейтинге
1 610-й
Откуда
Владивосток, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Средний
От 270 000 ₽
Python
Базы данных
Apache Kafka
Git
Docker
CI/CD
PostgreSQL
SQLalchemy
RESTful API