Package org.keycloak.userprofile.config
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
-
-
Field Summary
Fields Modifier and Type Field Description static String
ROLE_ADMIN
static String
ROLE_USER
-
Constructor Summary
Constructors Constructor Description UPConfigUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
canBeAuthFlowContext(UserProfileContext context)
Check if context CAN BE part of the AuthenticationFlow.static String
capitalizeFirstLetter(String str)
static List<String>
getChunks(String src, int partLength)
Break string to substrings of given length.static boolean
isRoleForContext(UserProfileContext context, Set<String> roles)
Check if roles configuration contains role given current context.static boolean
isValidAttributeName(String attributeName)
static UPConfig
readConfig(InputStream is)
Load configuration from JSON file.static String
readDefaultConfig()
static List<String>
validate(KeycloakSession session, UPConfig config)
Validate object representation of the configuration.
-
-
-
Field Detail
-
ROLE_USER
public static final String ROLE_USER
- See Also:
- Constant Field Values
-
ROLE_ADMIN
public static final String ROLE_ADMIN
- See Also:
- Constant Field Values
-
-
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 integrationconfig
- 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 breakpartLength
-- 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 checkedroles
- to be inspected- Returns:
- true if roles list contains role representing checked context
-
readDefaultConfig
public static String readDefaultConfig()
-
-