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-tsdocumentation.
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 themfesobject.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.