py.lib.aw_web_tools

Yohn Y. 2025-10-15 Parent:74f5377d83ab Child:c53a61e27af8

14:0920ae304dfd Go to Latest

py.lib.aw_web_tools/src/aw_web_tools/authelia_helper.py

.. 1.202510.1 + Режим фековой авторизации для адаптера authelia. Режим требуется для отладки, поскольку вряд ли на машине разработчика будет развёрнуто это ПО на ранних стадиях разработки (преальфа). Возможно режим будет полезен при поиска проблем в приложении при авторизации.

History
     1.1 --- a/src/aw_web_tools/authelia_helper.py	Sun Mar 09 16:04:43 2025 +0300
     1.2 +++ b/src/aw_web_tools/authelia_helper.py	Wed Oct 15 16:39:24 2025 +0300
     1.3 @@ -39,7 +39,8 @@
     1.4                   header_user: str = HEADER_USER,
     1.5                   header_groups: str = HEADER_GROUPS,
     1.6                   header_email: str = HEADER_EMAIL,
     1.7 -                 header_name: str = HEADER_NAME
     1.8 +                 header_name: str = HEADER_NAME,
     1.9 +                 fake_auth: bool = False
    1.10                   ):
    1.11          """\
    1.12          :param group_filter: Фильтр передаваемый системой аутентификации групп, которые интересны нам. Если ``None``
    1.13 @@ -48,11 +49,14 @@
    1.14          :param header_groups: Имя заголовка с группами пользователя
    1.15          :param header_email: Имя заголовка c e-mail пользователя
    1.16          :param header_name: Имя заголовка с именем пользователя
    1.17 +        :param fake_auth: Режим без авторизации. Создаётся для отладки или решения проблем с авторизацией.
    1.18 +                          Не проводит авторизацию по заголовкам, а вместо этого подставляет заранее заданные значения.
    1.19          """
    1.20          self.header_user = header_user
    1.21          self.header_groups = header_groups
    1.22          self.header_email = header_email
    1.23          self.header_name = header_name
    1.24 +        self.fake_auth = fake_auth
    1.25  
    1.26          self.group_filter = None
    1.27          self.group_filter_set = None
    1.28 @@ -72,6 +76,9 @@
    1.29          :returns: Объект ``AHUser`` с данным авторизации.
    1.30          """
    1.31  
    1.32 +        if self.fake_auth:
    1.33 +            return AHUser(uname='__UNK__', groups=[], name='John Doe', email='devnull@localhost.localdomain')
    1.34 +
    1.35          uname = request.get_header(self.header_user)
    1.36          email = request.get_header(self.header_email)
    1.37          name = request.get_header(self.header_name)