====== Общее ====== Поддержка работы приложения с системой авторизации ''Authelia'' в режиме проксирования через ''nginx''. Теоретически, модуль может использоваться и с другими системами авторизации, выставляющими заголовки с идентификационными данными пользователя. ====== Исключения ====== ^ Имя ^ Родитель ^ Описание ^ | ''AHError'' | ''Error'' | Базовый класс исключений модуля адаптера Authelia | | ''AHAuthError'' | ''AHError'' | Проблемы с авторизацией пользователя | ====== Классы объектов ====== ^ Имя ^ Описание ^ | ''AHUser'' | Представление в качестве объекта идентификационных данных | | ''AutheliaHelper'' | Адаптер авторизации, выполняющий разбор заголовков и их интерпретацию | ===== AHUser ===== Представляет собой ''namedtuple'' с полями: * ''uname'' - Имя УЗ * ''groups'' - Группы пользователя * ''email'' - E-Mail пользователя * ''name'' - Имя пользователя, которым его стоит обозначать в приложении. ===== AutheliaHelper ===== ==== Конструктор ==== ^ Параметр ^ Тип ^ По умолчанию ^ Описание ^ | ''group_filter'' | ''List[str]'' | ''None'' | Фильтр передаваемый системой аутентификации групп, которые интересны нам. Ели ''None'' группы, передаваемые в заголовке не фильтруются | | ''header_user'' | ''str'' | ''Remote-User'' | Имя заголовка с именем УЗ пользователя | | ''header_groups'' | ''str'' | ''Remote-Groups'' | Имя заголовка с группами пользователя | | ''header_email'' | ''str'' | ''Remote-Email'' | Имя заголовка c e-mail пользователя | | ''header_name'' | ''str'' | ''Remote-Name'' | Имя заголовка с именем пользователя | | ''fake_auth'' | ''bool'' | ''False'' | Включение режима подставной авторизации | **Режим подставной авторизации**, который включается параметром ''fake_auth'', создан для выполнения предварительной разработки приложения в целом (на этапе преальфа). На данном этапе АРМ разработчика может быть не оснащена ПО ''Authelia'', и во избежание дополнительных не контролируемых решений конкретного программиста данной проблемы с возможным появлением уязвимостей, и добавлен этот режим. В данном режиме объект пользователя имеет предопределённое значение: * ''uname'': ''//__UNK__//'' * ''name'': ''//John Doe//'' * ''email'': ''//devnull@localhost.localdomain//'' Группы в этом режиме не назначаются и являются пустым массивом. ==== Вызов объекта ==== Выполняет разбор заголовков и извлечение данных пользователя. ^ Параметр ^ Тип ^ По умолчанию ^ Описание ^ | ''request'' | ''bottle.BaseRequest'' | ''bottle.request'' | Обрабатываемый запрос | **Возвращает:** объект ''AHUser''. В случае если заголовок с именем пользователя не задан, возбуждается исключение ''AHAuthError'' Пример: ah = AutheliaHelper(group_filter=[ 'app_admin', 'app_user', ]) user = ah()