Package io.hawt.web.auth
Class AuthenticationConfiguration
java.lang.Object
io.hawt.web.auth.AuthenticationConfiguration
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringShorthand forAUTHENTICATION_ENABLED.static final Stringstatic final StringAuthenticationContainerDiscovery classes divided by comma, which are used to discover container environments.static final StringEnable or disable Hawtio's authentication.static final StringThrottle authentication to protect Hawtio from brute force attacks.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringEnable or disable Keycloak integration.static final Stringstatic final StringWhether to return 401 on No Credentials authentication error.static final StringConfiguration property to specify a location for OIDC properties file.static final StringJAAS realm used to authenticate users.static final StringJAAS class name that would contain the role principal.static final StringAuthorized user roles.static final Stringstatic final String[]Paths related to authentication process.static final String[]Paths for configuration of the client (@hawtio/react) part.static final String[]Paths that shouldn't be redirected to/loginwhen user is not authenticated.static final String[]Static resources paths, which should be always reachable.static final String[]API paths. -
Method Summary
Modifier and TypeMethodDescriptionvoidInitialize OIDC configuration, so it is available both inAuthConfigurationServletandContentSecurityPolicyFilter.protected StringSimilarly to Keycloak configuration, we'll try well-known configuration locations.static AuthenticationConfigurationgetConfiguration(jakarta.servlet.ServletContext servletContext) getRealm()getRoles()booleanbooleanbooleanbooleanbooleanbooleanvoidsetConfiguration(Configuration configuration) voidsetRolePrincipalClasses(String rolePrincipalClasses) voidsetSpringSecurityEnabled(boolean springSecurityEnabled) toString()
-
Field Details
-
LOGIN_URL
- See Also:
-
UNSECURED_RESOURCE_PATHS
Static resources paths, which should be always reachable. -
UNSECURED_AUTHENTICATION_PATHS
Paths related to authentication process./loginpath is actually a client-side router path, but Hawtio sometimes redirects (thus forcing server request) to this path for unified authentication experience./auth/*,/user,/keycloakpaths are actual servlet mappings. -
UNSECURED_META_PATHS
Paths for configuration of the client (@hawtio/react) part. -
UNSECURED_SERVLET_PATHS
API paths. These may be confusing:- should NOT be redirected to /login, but
- should be protected otherwise (e.g., AuthenticationFilter)
-
UNSECURED_PATHS
Paths that shouldn't be redirected to/loginwhen user is not authenticated. -
AUTHENTICATION_ENABLED
Enable or disable Hawtio's authentication. Value should be boolean.- See Also:
-
AUTH
Shorthand forAUTHENTICATION_ENABLED.- See Also:
-
AUTHENTICATION_THROTTLED
Throttle authentication to protect Hawtio from brute force attacks.- See Also:
-
REALM
JAAS realm used to authenticate users.- See Also:
-
ROLES
Authorized user roles. Empty string disables authorization.- See Also:
-
ROLE_PRINCIPAL_CLASSES
JAAS class name that would contain the role principal. Empty string disables authorization.- See Also:
-
NO_CREDENTIALS_401
Whether to return 401 on No Credentials authentication error. Value should be boolean.- See Also:
-
AUTHENTICATION_CONTAINER_DISCOVERY_CLASSES
AuthenticationContainerDiscovery classes divided by comma, which are used to discover container environments.- See Also:
-
KEYCLOAK_ENABLED
Enable or disable Keycloak integration. Value should be boolean.- See Also:
-
OIDC_CLIENT_CONFIG
Configuration property to specify a location for OIDC properties file.- See Also:
-
HAWTIO_OIDC_CLIENT_CONFIG
- See Also:
-
HAWTIO_AUTHENTICATION_ENABLED
- See Also:
-
HAWTIO_AUTH
- See Also:
-
HAWTIO_AUTHENTICATION_THROTTLED
- See Also:
-
HAWTIO_REALM
- See Also:
-
HAWTIO_ROLES
- See Also:
-
HAWTIO_ROLE_PRINCIPAL_CLASSES
- See Also:
-
HAWTIO_NO_CREDENTIALS_401
- See Also:
-
HAWTIO_AUTH_CONTAINER_DISCOVERY_CLASSES
- See Also:
-
HAWTIO_KEYCLOAK_ENABLED
- See Also:
-
AUTHENTICATION_CONFIGURATION
- See Also:
-
DEFAULT_REALM
- See Also:
-
DEFAULT_KARAF_ROLE_PRINCIPAL_CLASSES
- See Also:
-
TOMCAT_AUTH_CONTAINER_DISCOVERY
- See Also:
-
-
Method Details
-
getConfiguration
public static AuthenticationConfiguration getConfiguration(jakarta.servlet.ServletContext servletContext) -
isEnabled
public boolean isEnabled() -
getThrottler
-
isNoCredentials401
public boolean isNoCredentials401() -
getRealm
-
getRoles
-
getRolePrincipalClasses
-
setRolePrincipalClasses
-
getDefaultRolePrincipalClass
-
getConfiguration
-
setConfiguration
-
isKeycloakEnabled
public boolean isKeycloakEnabled() -
isOidcEnabled
public boolean isOidcEnabled() -
setSpringSecurityEnabled
public void setSpringSecurityEnabled(boolean springSecurityEnabled) -
isSpringSecurityEnabled
public boolean isSpringSecurityEnabled() -
isExternalAuthenticationEnabled
public boolean isExternalAuthenticationEnabled() -
configureOidc
public void configureOidc()Initialize OIDC configuration, so it is available both inAuthConfigurationServletandContentSecurityPolicyFilter. -
defaultOidcConfigLocation
Similarly to Keycloak configuration, we'll try well-known configuration locations.- Returns:
- config location to be used by default
-
getOidcConfiguration
-
toString
-