Aureole Config


  • Тип: object. Обязательны: api_version, apps. Наличие дополнительных свойств: Недопустимо.
    • api_version: Тип: string. Версия API. Версия API указывается для обратной совместимости при грядущих обновлениях продукта.
    • test_run: Тип: boolean. Значение по-умолчанию: False. Флаг тестового запуска сервера. Предназначен для запуска сервера в тестовом режиме. В тестовом режиме все HTTPS запросы будут проводиться в незащищенном режиме. Запуск в данном режиме предназначен только для тестирования сервера.
    • apps: Тип: array. Перечисление приложений. Используется для указания конфигураций всех приложений, которые использует Aureole. Минимальное кол-во элементов: 1.
      • Элементы: Тип: object. Конфигурация одного приложения. Используется для конфигурирования одного приложения. Обязательны: name, authN. Наличие дополнительных свойств: Недопустимо.
        • name: Тип: string. Имя приложения. Используется для идентификации конфигурации определенного приложения. Минимальная длина: 1.
        • host: Тип: string. Дополнительно: Абсолютный URL-адрес. Значение по-умолчанию: http://localhost:3000. Хост, на котором работает приложение. Указывается в формате <протокол>://<хост>:<порт>. Если не указан протокол, то будет использован HTTP. Хост используется для формирования абсолютных маршрутов приложения.
        • path_prefix: Тип: string. Дополнительно: Относительный URL-адрес. Значение по-умолчанию: /. Префикс маршрута приложения. Префикс используется для образования пространства имен данного приложения. Должен быть уникальным в пределах перечисления.
        • auth_session_exp: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 86400. Время жизни аутентификационной сессии. Время, в течении которого будут валидны данные созданные во время аутентификационной сессии. К таким данным относятся промежуточные JWT и данные, сохраненные в сервисное хранилище Минимальное значение: 0.
        • service: Тип: object. Сервисная конфигурация. Настройки, необходимые для нормального функционирования сервера Aureole. Обязательны: storage. Наличие дополнительных свойств: Недопустимо.
          • sign_key: Тип: string. Дополнительно: Ссылка на экземпляр плагина крипто-ключа. Внутренний сервисный ключ для подписи. Данный ключ един для всего сервера либо же для нескольких серверов и необходим для подписи промежуточных JWT. Промежуточные JWT используются для различного рода подтверждения действия со стороны пользователя':' сброса пароля, беспарольного логина черех Email, двухфакторной аутентификации. Минимальная длина: 1.
          • enc_key: Тип: string. Дополнительно: Ссылка на экземпляр плагина крипто-ключа. Внутренний сервисный ключ для шифрования. Данный ключ един для всего сервера либо же для нескольких серверов и необходим для шифрования каких-либо данных, как например OTP для SMS двухфакторной аутентификации. Минимальная длина: 1.
          • storage: Тип: string. Дополнительно: Ссылка на экземпляр плагина хранилища ключей. Сервисное хранилище Aureole. Данной хранилище используется Aureole для учета и инвалидации выданных им JWT. Минимальная длина: 1.
        • authN: Тип: array. Перечисление конфигураций аутентификаторов. Используется для указания конфигураций всех аутентификаторов, которые используются в приложении. Каждый аутентификатор независим от других и должен использовать свои, уникальные в пределах приложения, маршруты. Минимальное кол-во элементов: 1.
          • Элементы: См. Authn.
        • authZ: См. Authz.
        • 2fa: Тип: array. Перечисление конфигураций плагинов двухфакторной аутентификации. Используется для указания конфигураций всех двухфакторных аутентификаций, которые используются в проекте.
          • Элементы: См. 2Fa.
        • id_manager: См. IdManager.
        • storages: Тип: array. Перечисление конфигураций хранилищ. Используется для указания конфигураций всех хранилищ, которые используются в проекте. Минимальное кол-во элементов: 1.
        • crypto_storages: Тип: array. Перечисление конфигураций хранилищ ключей. Используется для указания конфигураций всех хранилищ ключей, которые используются в проекте.
        • crypto_keys: Тип: array. Перечисление конфигураций ключей. Используется для указания конфигураций всех ключей, которые используются в проекте.
        • senders: Тип: array. Перечисление конфигураций отправителей. Используется для указания конфигураций всех отправителей, которые используются в проекте.
          • Элементы: См. Sender.
        • admin_plugins: Тип: array. Перечисление конфигураций административных плагинов. Используется для указания конфигураций всех административных плагинов, которые используются в проекте. Административные плагины не несут какой-либо пользы конечным пользователям, а лишь предоставляют различные административные возможность для работы с Aureole.

    Пример конфига

    api_version: "0.1"
    
    apps:
      - name: app
    
        service:
          enc_key: service_enc_key
          sign_key: service_sign_key
          storage: service_store
    
        authN:
          # array of authenticators
        authZ:
          # authorizer config
        2fa:
          # array of 2FA plugins
        id_manager:
          # identity manager config
    
        storages:
          # array of storages
        crypto_storages:
          # array of crypto storages
        crypo_keys:
          # array of crypto keys
        senders:
          # array of senders
        admin_plugins:
          # array of admin plugins
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
Contributors: Semen Asaevich, asaevich