Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Authorization Customization feature provides flexible role management by allowing users to tailor how roles are defined and displayed. Roles are assigned through a scoped role string managed by an identity provider (IDP), and this feature introduces several customization options:

  • Customizable scoped role delimiter: Users can define their own delimiter to separate parts of the scoped role string. By default, a period (.) is used, but it can be changed to an underscore (_) or any other character, enhancing integration with different IDP configurations.

  • Customizable Wildcard: The second part of a three-part scoped role string specifies a configuration area, and a wildcard character can represent access to all non-confidential areas. While the default wildcard is an asterisk (*), users can now customize it to any character or string, providing more flexibility in defining access levels.

  • Display Name Customization: Depending on the scoped role claim present in the IDP token, different formats for role display names can be configured within the application. This allows for more intuitive and organization-specific naming conventions that align with the user’s role and access permissions.

These enhancements enable organizations to align role management and display with their specific needs and identity provider configurations, facilitating more precise control over user access and role representation in the application.

...

The CDCM application allows for flexible customization of display names based on scoped role claims, enhancing clarity and alignment with organizational naming conventions. It is also possible to specify a prefix that should be ignored when parsing the role claim string coming from the identity provider.

  • Configuration: Display names are configured using the environment variable OAUTH_CLAIM_CONFIGURATION. This variable should contain a JSON array, where each object defines the claim attribute (=roleClaimAttribut) and the corresponding display name format (=displayNameForma) as well as an optional field for the prefix that should be ignored while parsing the role string(=prefix).

  • JSON Format: Each object in the array specifies a roleClaimAttribute, a displayNameFormat and a displayNameFormat prefix. The display name format can include placeholders (<<>>) to dynamically insert token attributes into the display name.

  • Example Configuration:

    Code Block
    languagejson
    [
        {
            "roleClaimAttribute": "roles",
            "prefix": "I_will_be_ignored",
            "displayNameFormat": "System user <<applicationId>>"
        },
        {
            "roleClaimAttribute": "cdcm.groups",
            "displayNameFormat": "<<given_name>> <<family_name>> | <<department>>"
        }
    ]
    

  • Usage: This configuration allows display names to be dynamically generated based on user attributes, providing personalized and informative identifiers. For example, a display name might appear as "System user 12345" or "John Doe | Sales" based on the claims found in the user token.