Table of Contents

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.