Class UPConfigUtils

java.lang.Object
org.keycloak.userprofile.config.UPConfigUtils

public class UPConfigUtils extends Object
Utility methods to work with User Profile Configurations
Author:
Vlastimil Elias <velias@redhat.com>
  • Field Details

  • Constructor Details

    • UPConfigUtils

      public UPConfigUtils()
  • Method Details

    • 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)
    • parseConfig

      public static UPConfig parseConfig(String rawConfig) throws IOException
      Parse configuration of user-profile from String
      Parameters:
      rawConfig - Configuration in String format
      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:
    • capitalizeFirstLetter

      public static String capitalizeFirstLetter(String str)
    • readSystemDefaultConfig

      public static String readSystemDefaultConfig()
    • parseSystemDefaultConfig

      public static UPConfig parseSystemDefaultConfig()
    • parseConfig

      public static UPConfig parseConfig(Path configPath)