Фиктивный провайдер аутентификации
Описание
Этот провайдер аутентификации позволяет входить в систему с любым именем пользователя и паролем, после чего выдает токен доступа.
После успешной аутентификации имя пользователя сохраняется в базе данных бэкенда. Затем оно используется для создания записей аудита при любом изменении объекта, см. поле changed_by.
Схема взаимодействия
sequenceDiagram
participant "Клиент"
participant "Бэкенд"
activate "Клиент"
alt Успешный кейс
"Клиент" ->> "Бэкенд" : логин + пароль
"Бэкенд" ->> "Бэкенд" : Пароль полностью игнорируется
"Бэкенд" ->> "Бэкенд" : Проверка пользователя во внутренней базе данных бэкенда
"Бэкенд" ->> "Бэкенд" : Создание пользователя, если не существует
else
"Клиент" ->> "Бэкенд" : логин + пароль
"Бэкенд" ->> "Бэкенд" : Пароль полностью игнорируется
"Бэкенд" ->> "Бэкенд" : Проверка пользователя во внутренней базе данных бэкенда
else
"Клиент" ->> "Бэкенд" : логин + пароль
"Бэкенд" ->> "Бэкенд" : Пароль полностью игнорируется
"Бэкенд" ->> "Бэкенд" : Проверка пользователя во внутренней базе данных бэкенда
end
alt Успешный кейс
"Клиент" ->> "Бэкенд" : access_token
"Бэкенд" ->> "Бэкенд" : Проверка токена
"Бэкенд" ->> "Бэкенд" : Проверка пользователя во внутренней базе данных бэкенда
"Бэкенд" ->> "Бэкенд" : Получение данных
else
"Клиент" ->> "Бэкенд" : access_token
"Бэкенд" ->> "Бэкенд" : Проверка токена
else
"Клиент" ->> "Бэкенд" : access_token
"Бэкенд" ->> "Бэкенд" : Проверка токена
"Бэкенд" ->> "Бэкенд" : Проверка пользователя во внутренней базе данных бэкенда
else
"Клиент" ->> "Бэкенд" : access_token
"Бэкенд" ->> "Бэкенд" : Проверка токена
"Бэкенд" ->> "Бэкенд" : Проверка пользователя во внутренней базе данных бэкенда
end
deactivate "Клиент"
Конфигурация
Bases: BaseModel
Settings for DummyAuthProvider.
Examples
.. code-block:: bash
HORIZON__AUTH__PROVIDER=horizon.backend.providers.auth.dummy.DummyAuthProvider
HORIZON__AUTH__ACCESS_KEY__SECRET_KEY=secret
Source code in horizon/backend/settings/auth/dummy.py
8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Bases: BaseModel
Settings related to JWT tokens.
Examples
.. code-block:: bash
HORIZON__AUTH__ACCESS_KEY__SECRET_KEY=somesecret
HORIZON__AUTH__ACCESS_KEY__EXPIRE_SECONDS=3600 # 1 hour
Source code in horizon/backend/settings/auth/jwt.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |