Общее

Поддержка работы приложения с системой авторизации 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()