Storing application settings in separate files#

By default, the settings of all connected applications are stored inside the main configuration file blitz.conf in the blitz.prod.local.idp.apps section. If a large number of applications (hundreds) are to be connected to Blitz Identity Provider, then keeping application settings in separate configuration files can be more preferable. For this, you need to:

  1. In the /usr/share/identityblitz/blitz-config settings directory, create a root directory that will store the application settings. By default, the /usr/share/identityblitz/blitz-config/apps directory will be used.

  2. Inside the directory of application settings, create a directory for each application, observing the following rules:

    • the directory name must be created out of the application identifier (appId);

    • if the application identifier contains the / character, it must be substituted with # in the directory name;

    • if the application identifier contains the : character, it must be substituted with % in the directory name.

    Note

    For example, you need to create the https%##example.com directory for the application with the https://example.com identifier.

    Important

    Make sure to create directories for the service applications _blitz_console, _blitz_idp, _blitz_reg, _blitz_recovery, _blitz_profile.

  3. Inside each application directory, create a file with the name app.conf, containing an application configuration from the original blitz.conf. The relevant section must be called app and not the appId value, as it was in blitz.conf. Later on, inside the application directory, a hidden .snapshot directory with backups of the old application configurations will also be created after each setting modification through the console or API.

    The example of the app.conf configuration file:

    ##########################################################################################
    # 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. After migrating all existing application settings from blitz.conf to separate configuration files, set the application setting reading mode in the blitz.prod.local.idp.apps-source section of blitz.conf:

    "apps-source": {
        "type": "filesystem",
        "dir": "apps"
     }
    
  5. Restart Blitz Identity Provider applications and try to sign in to the applications. If everything is alright, you can remove the application settings from the original blitz.prod.local.idp.apps block.