Аутентификация и Авторизация
Обзор
Для доступа к эндпоинтам сервиса клиент должен пройти аутентификацию. Сервис предоставляет несколько вариантов для аутентификации.
В настоящее время сервис не реализует ролевую модель, и все пользователи имеют одинаковый уровень разрешений.
Аутентификация реализована через middleware следующим образом: перед каждым вызовом эндпоинта вызывается функция get_user(). Эта функция пытается получить имя пользователя из предоставленного токена.
Data Rentgen поддерживает различные реализации провайдеров аутентификации. Вы можете изменить реализацию через настройки:
Bases: BaseModel
Authorization-related settings.
Here you can set auth provider class along with its options.
Examples
.. code-block:: bash
DATA_RENTGEN__AUTH__PROVIDER=data_rentgen.server.providers.auth.dummy_provider.DummyAuthProvider
# pass access_key.secret_key = "secret" to DummyAuthProviderSettings
DATA_RENTGEN__AUTH__ACCESS_KEY__SECRET_KEY=secret
Source code in data_rentgen/server/settings/auth/__init__.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 45 | |
На данный момент сервис имеет два сценария для аутентификации:
- Dummy(JWT Tokens) легковесный вариант для тестирования и разработки.
- Аутентификация Keycloak рекомендуемый вариант. Интегрируется с Keycloak для токен-ориентированной аутентификации.
Провайдеры Аутентификации
Фиктивный провайдер аутентификации Провайдер Keycloak