Metadata-Version: 1.1
Name: aiohttp_ext.auth
Version: 0.1.4
Summary: Пользователи и авторизация
Home-page: https://bitbucket.org/igor_kovalenko/aiohttp_ext.auth
Author: Kovalenko Igor
Author-email: kovalenko.s.igor@gmail.com
License: BSD
Description: # Расширение aiohttp для управления процессом авторизации пользователей в системе
        
        ## Краткое описание функционала расширения
        
        Данное расширение представляет из себя специализированный middleware производящий
        проверку заголовков запроса и производящий по результатам авторизацию (а в некоторых случаях 
        и аутентификацию тоже) пользователя 
        
        Успешная аутентификация заканчиваются установкой ключа 'user' экземпляра запроса (request). 
        Значением ключа 'user', в этом случае, выступает экземпляра класса ORM Gino соответствующий 
        профилю авторизованного пользователя.
        
        В случае провальной авторизации ключ 'user' приобретает значение None 
        
        ### Кастомный профиль пользователя
        Расширение определеяет порофиль пользователя самостоятельно, но способно работать и с кастомным профилем
        определенным на уровне приложения. Для этого следует указать класс профиля (это обязательно должен быть
        класс ORM Gino) в настройках, в ключе 'user_model' (см. демо-приложение, находящееся в под-каталоге demo/ )
        
        ### Бакэенды аутентификации
        Расширение реализует различные способы авторизации пользователя путем подключения т. н. бакэндов
        авторизации, каждый из которых представляет из себя класс, наследующий от абстрактного 
        класса AuthorizationBackend
        
        Расширение несет в себе два такаих бакэенда: бакэнд базовой аутентификации и бакэенд аутентификации 
        Bearer (терехногая аутентифкация с использованием JWT-токена)
        
        Расширение не накладывает ограничений на количество подключенных бакэендов аутентифкации: любое их 
        количество может быть включено в список ключа auth_backends настроек приложения. Расширение будет пытаться
        авторизовать пользователя в порядке перечисленных бакэендов и прекращает попытки при первом успешном
        результате
        
        ### Декораторы
        
        Расширение несет с собой два декоратора. Первый из них - authorization_required применяется в общем случае,
        для декорирования обработчика ответа сервера, для гарантии что обработчик будет работать только с 
        авторизованным запросом. Второй декоратор, - bearer_authorization_required - устроен сложнее.
        
        Так же как и декоратор authorization_required, декоратор bearer_authorization_required применяется
        в случае необходимости получения гарантии того, что обработчик запроса к серверу будет работать 
        с авторизованным запросом, но кроме этого этот декоратор способен обрабатывать ошибки декодирования и
        проверки токена и отдавать их в качестве причины отказа в авторизации на ресурсе. Кроме того, в заголовок
        ответа данный декоратор добавляет ключ www-authenticate, в котором указывает realm, service и scope 
        необходимые клиенту для получения Bearer-токена в доверенном центре авторизации. Реалм центра 
        авторизации является обязательным параметром, два других - опциональны.
        
        ## Установка
        
        Установка расширения производится с помощью менеджера pip
        
        ```bash
        pip install aiohttp_ext.auth
        ```
        
        ## Использование
        
        см. демо-приложение, находящееся в под-каталоге demo/
        
        
Platform: any
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
