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