Skip to main content

Configuration Reference (config.json)

The Citadel Shell Application is designed to be highly configurable at runtime. All configuration is loaded from a single /assets/config.json file when the application starts. This allows the behavior of the shell to be changed for different environments (development, staging, production) without requiring a rebuild of the application.

Top-Level Properties

oidc

Type: object

This object contains all the necessary settings to configure the oidc-client-ts library, which handles the OpenID Connect authentication flow.

Key Properties:

  • authority (string): The URL of your OpenID Connect provider (e.g., the IAM Service).
  • client_id (string): The client ID registered for the shell application with the OIDC provider.
  • redirect_uri (string): The absolute URL where the user is redirected after a successful login at the IdP. This must match one of the URIs registered for the client.
  • post_logout_redirect_uri (string): The absolute URL where the user is redirected after a successful logout at the IdP.
  • scope (string): A space-separated string of OIDC scopes to request (e.g., openid profile email).

For a complete list of all available OIDC settings, please refer to the official oidc-client-ts documentation.


mfes

Type: object

A key-value map where each key is the name of a Micro-Frontend (MFE) and the value is the absolute URL to its remoteEntry.js file. The shell uses this map to dynamically load the MFE scripts at startup.

Example:

"mfes": {
"adminPortalUi": "http://localhost:5001/remoteEntry.js",
"reportingUi": "http://localhost:5002/remoteEntry.js"
}

routes

Type: array

An array of route objects that map URL paths to specific components within your MFEs.

Route Object Properties:

  • path (string): A URL path pattern (e.g., /admin, /reports/*). The shell uses this to determine which MFE to render.
  • mfe (string): The name of the MFE to load. This must match a key in the mfes object.
  • component (string): The name of the component to expose from the MFE (e.g., AdminPage).
  • data (object, optional): An object for metadata.
    • chrome: 'none': If present, the shell's minimal UI chrome (logout button, etc.) will be hidden for this route.

allowedOrigins

Type: array of string

A security feature. This is an allowlist of origins (e.g., https://admin-portal.example.com) that are permitted to send postMessage events to the shell. The shell will ignore messages from any origin not on this list.


postLoginRedirectPath

Type: string

The default path to redirect the user to after a successful login. This serves as the global default landing page. If a redirect_uri is specified as a query parameter during the login flow, it will take precedence over this setting.


postLogoutRedirectPath

Type: string

The default path to redirect the user to after a successful logout. This value is used to configure the post_logout_redirect_uri for the OIDC client.