Prism
Note
Prism modules are created to simplify development of new modules and is an easy way of adding small, compartmentalized, and light-weight modules to your setup. The modules work with a Prism module and one or more submodules, where the Prism module owns authentication and user handling and the submodule handles the respective task.
The context path of the frontend will be:
https://<host>/base_url/
And the submodule-specific API will be found at
https://<host>/base_url/submodule_base_uri/api/
Where the base_url is configured in the prism module and the base_uri is configured in the submodule
Properties
| Name | Description | Default value | Mandatory | Supports property expansion |
|---|---|---|---|---|
| base_url | On what context path the prism module should be served | /prism | false | false |
| standalone | Uses the Prism module standalone, without submodules | false | false | false |
| node_id | Sets up Prism module on a specific node | false | false | |
| requires_role_for_admin | What roles should be used for authenticating the user | sysadmin | false | false |
| auth_redirect_url | URL for authentication redirects | "" | false | false |
| module_refs | The ID of the submodule(s) | true | false | |
| legacy_mode | Whether or not the module should run in legacy mode | true | false | false |
| appearanceProfile | The appearance profile of the prism module (see appearance profiles for more information). Prism only uses one appearance profile per module. | default | false | false |
Example configuration
{
"id" : "prism_00",
"name" : "com.phenixidentity~phenix-prism",
"enabled" : "true",
"config" : {
"base_url" : "/my-context",
"auth_redirect_url" : "/my-context/authenticate/prism_auth_00",
"module_refs" : "my_sub_module",
"legacy_mode" : "false",
"appearanceProfile" : {
"theme" : "my-theme",
"localizationConfig" : {
"additionalTranslations" : [ "my-translation" ],
"languageIds" : [ "sv", "en" ]
}
}
}
}
For this setup to work a sub module needs to be added. One sub module that could be added is the FedSigning Module
Legacy mode
The legacy version of Prism used templates where the Prism module handled authentication and served the header component
of the frontend, while the submodule served both the module-specific API and the frontend component displayed. To disable
legacy mode, set legacy_mode to false on the prism module.
The legacy_mode default value might change in future versions. Therefore, make sure you set legacy_mode to true on
all modules using legacy mode. See each respective prism module to determine if they have a non-legacy mode available.