mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-10 10:17:58 +00:00
89 lines
2.6 KiB
Java
89 lines
2.6 KiB
Java
package auth.sso;
|
|
|
|
import static auth.AuthUtils.*;
|
|
import static auth.ConfigUtil.*;
|
|
|
|
|
|
/**
|
|
* Class responsible for extracting and validating top-level SSO related configurations.
|
|
*/
|
|
public class SsoConfigs {
|
|
|
|
/**
|
|
* Required configs
|
|
*/
|
|
private static final String AUTH_BASE_URL_CONFIG_PATH = "auth.baseUrl";
|
|
private static final String AUTH_BASE_CALLBACK_PATH_CONFIG_PATH = "auth.baseCallbackPath";
|
|
private static final String AUTH_SUCCESS_REDIRECT_PATH_CONFIG_PATH = "auth.successRedirectPath";
|
|
public static final String OIDC_ENABLED_CONFIG_PATH = "auth.oidc.enabled";
|
|
|
|
/**
|
|
* Default values
|
|
*/
|
|
private static final String DEFAULT_BASE_CALLBACK_PATH = "/callback";
|
|
private static final String DEFAULT_SUCCESS_REDIRECT_PATH = "/";
|
|
|
|
private final String _authBaseUrl;
|
|
private final String _authBaseCallbackPath;
|
|
private final String _authSuccessRedirectPath;
|
|
private final Integer _sessionTtlInHours;
|
|
private final Boolean _oidcEnabled;
|
|
private final String _authCookieSameSite;
|
|
private final Boolean _authCookieSecure;
|
|
|
|
public SsoConfigs(final com.typesafe.config.Config configs) {
|
|
_authBaseUrl = getRequired(configs, AUTH_BASE_URL_CONFIG_PATH);
|
|
_authBaseCallbackPath = getOptional(
|
|
configs,
|
|
AUTH_BASE_CALLBACK_PATH_CONFIG_PATH,
|
|
DEFAULT_BASE_CALLBACK_PATH);
|
|
_authSuccessRedirectPath = getOptional(
|
|
configs,
|
|
AUTH_SUCCESS_REDIRECT_PATH_CONFIG_PATH,
|
|
DEFAULT_SUCCESS_REDIRECT_PATH);
|
|
_sessionTtlInHours = Integer.parseInt(getOptional(
|
|
configs,
|
|
SESSION_TTL_CONFIG_PATH,
|
|
DEFAULT_SESSION_TTL_HOURS.toString()));
|
|
_oidcEnabled = configs.hasPath(OIDC_ENABLED_CONFIG_PATH)
|
|
&& Boolean.TRUE.equals(
|
|
Boolean.parseBoolean(configs.getString(OIDC_ENABLED_CONFIG_PATH)));
|
|
_authCookieSameSite = getOptional(
|
|
configs,
|
|
AUTH_COOKIE_SAME_SITE,
|
|
DEFAULT_AUTH_COOKIE_SAME_SITE);
|
|
_authCookieSecure = Boolean.parseBoolean(getOptional(
|
|
configs,
|
|
AUTH_COOKIE_SECURE,
|
|
String.valueOf(DEFAULT_AUTH_COOKIE_SECURE)));
|
|
}
|
|
|
|
public String getAuthBaseUrl() {
|
|
return _authBaseUrl;
|
|
}
|
|
|
|
public String getAuthBaseCallbackPath() {
|
|
return _authBaseCallbackPath;
|
|
}
|
|
|
|
public String getAuthSuccessRedirectPath() {
|
|
return _authSuccessRedirectPath;
|
|
}
|
|
|
|
public Integer getSessionTtlInHours() {
|
|
return _sessionTtlInHours;
|
|
}
|
|
|
|
public String getAuthCookieSameSite() {
|
|
return _authCookieSameSite;
|
|
}
|
|
|
|
public boolean getAuthCookieSecure() {
|
|
return _authCookieSecure;
|
|
}
|
|
|
|
public Boolean isOidcEnabled() {
|
|
return _oidcEnabled;
|
|
}
|
|
}
|