Хранение настроек приложений в отдельных файлах#

По умолчанию настройки подключенных приложений хранятся внутри основного конфигурационного файла blitz.conf в блоке настроек blitz.prod.local.idp.apps. Если планируется подключать к Blitz Identity Provider большое число приложений (сотни приложений), то более предпочтительным может быть настроить хранение настроек приложений в отдельных конфигурационных файлах. Для этого нужно:

  1. В каталоге настроек /usr/share/identityblitz/blitz-config создать корневой каталог для хранения настроек приложений (каталог настроек приложений). По умолчанию используется каталог /usr/share/identityblitz/blitz-config/apps.

  2. Внутри каталога настроек приложений создать для каждого приложения свой каталог, соблюдая следующие правила:

    • имя каталога должно быть создано из идентификатора приложения (appId);

    • если в идентификаторе приложения был символ /, то его надо заменить на #;

    • если в идентификаторе приложения был символ :, то его надо заменить на %.

    Примечание

    Например, для приложения с идентификатором https://example.com должен быть создан каталог с именем https%##example.com.

    Важно

    Обязательно должны быть созданы каталоги для служебных приложений _blitz_console, _blitz_idp, _blitz_reg, _blitz_recovery, _blitz_profile.

  3. Внутри каждого каталога приложения должен быть создан файл с именем app.conf, содержащий конфигурацию приложения из исходного blitz.conf. Раздел должен называться app, а не значение appId, как было в blitz.conf. Внутри каталога приложения также будет создан скрытый каталог .snapshot, куда будут копироваться предыдущие конфигурации приложений в случае изменения настроек приложения через консоль или API.

    Пример конфигурационного файла app.conf:

    ##########################################################################################
    # version: 822
    # modified: 2023-08-20 21:17:27 MSK
    # author: admin
    # ip: 127.0.0.1
    # user agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 …
    ##########################################################################################
    {
        "app": {
            "domain": "https://company.com",
            "name": "test app",
            "oauth": {
                …
            },
            …
        }
    }
    
  4. После миграции всех существующих настроек приложений из blitz.conf в отдельные файлы настроек задать в blitz.conf в блоке blitz.prod.local.idp.apps-source режим чтения настроек приложений из отдельных файлов:

    "apps-source": {
        "type": "filesystem",
        "dir": "apps"
     }
    
  5. Перезапустить приложения Blitz Identity Provider и проверить корректность работы входа в приложения. Если все работает корректно, то при желании можно удалить настройки приложений из блока blitz.prod.local.idp.apps.