Class UPConfigUtils


  • public class UPConfigUtils
    extends Object
    Utility methods to work with User Profile Configurations
    Author:
    Vlastimil Elias
    • Constructor Detail

      • UPConfigUtils

        public UPConfigUtils()
    • Method Detail

      • readConfig

        public static UPConfig readConfig​(InputStream is)
                                   throws IOException
        Load configuration from JSON file.

        Configuration is not validated, use validate(KeycloakSession, UPConfig) to validate it and get list of errors.

        Parameters:
        is - JSON file to be loaded
        Returns:
        object representation of the configuration
        Throws:
        IOException - if JSON configuration can't be loaded (eg due to JSON format errors etc)
      • validate

        public static List<String> validate​(KeycloakSession session,
                                            UPConfig config)
        Validate object representation of the configuration. Validations:
        • defaultProfile is defined and exists in profiles
        • parent exists for type
        • type exists for attribute
        • validator (from Validator SPI) exists for validation and it's config is correct
        • if an attribute group is configured it is verified that this group exists
        • all groups have a name != null
        Parameters:
        session - to be used for Validator SPI integration
        config - to validate
        Returns:
        list of errors, empty if no error found
      • isValidAttributeName

        public static boolean isValidAttributeName​(String attributeName)
        Parameters:
        attributeName - to validate
        Returns:
      • getChunks

        public static List<String> getChunks​(String src,
                                             int partLength)
        Break string to substrings of given length.
        Parameters:
        src - to break
        partLength -
        Returns:
        list of string parts, never null (but can be empty if src is null)
      • canBeAuthFlowContext

        public static boolean canBeAuthFlowContext​(UserProfileContext context)
        Check if context CAN BE part of the AuthenticationFlow.
        Parameters:
        context - to check
        Returns:
        true if context CAN BE part of the auth flow
      • isRoleForContext

        public static boolean isRoleForContext​(UserProfileContext context,
                                               Set<String> roles)
        Check if roles configuration contains role given current context.
        Parameters:
        context - to be checked
        roles - to be inspected
        Returns:
        true if roles list contains role representing checked context
      • capitalizeFirstLetter

        public static String capitalizeFirstLetter​(String str)
      • readDefaultConfig

        public static String readDefaultConfig()