constants centralize
This commit is contained in:
parent
fe53545eee
commit
29ef24a1d3
39
src/main/java/cz/trask/adfs/AdfsAuthMsConstants.java
Normal file
39
src/main/java/cz/trask/adfs/AdfsAuthMsConstants.java
Normal file
@ -0,0 +1,39 @@
|
||||
package cz.trask.adfs;
|
||||
|
||||
public final class AdfsAuthMsConstants {
|
||||
|
||||
public static final String AUTH_PREFIX_BEARER = "Bearer ";
|
||||
public static final String HEADER_AUTHORIZATION = "Authorization";
|
||||
|
||||
// Error codes
|
||||
public static final String ERR_SERVER_ERROR = "server_error";
|
||||
public static final String ERR_TOO_MANY_REQUESTS = "too_many_requests";
|
||||
public static final String ERR_INVALID_CONFIG = "invalid_configuration";
|
||||
public static final String ERR_PROCESS_FAILED = "process_failed";
|
||||
|
||||
// AdfsTokenService constants
|
||||
public static final String PARAM_RESOURCE = "resource";
|
||||
public static final String PARAM_CLIENT_ID = "client_id";
|
||||
public static final String PARAM_CLIENT_ASSERTION_TYPE = "client_assertion_type";
|
||||
public static final String PARAM_CLIENT_ASSERTION = "client_assertion";
|
||||
public static final String PARAM_GRANT_TYPE = "grant_type";
|
||||
|
||||
public static final String GRANT_TYPE_CLIENT_CREDENTIALS = "client_credentials";
|
||||
public static final String CLIENT_ASSERTION_TYPE = "urn:ietf:params:oauth:client-assertion-type:jwt-bearer";
|
||||
|
||||
public static final String HEADER_CONTENT_TYPE = "Content-Type";
|
||||
public static final String CONTENT_TYPE_FORM = "application/x-www-form-urlencoded";
|
||||
public static final String METHOD_POST = "POST";
|
||||
|
||||
// Config validation names
|
||||
public static final String CFG_TOKEN_URL = "tokenUrl";
|
||||
public static final String CFG_AUDIENCE = "audience";
|
||||
public static final String CFG_RESOURCE = "resource";
|
||||
public static final String CFG_CLIENT_IDS = "clientIds";
|
||||
public static final String CFG_CERTIFICATE = "certificate";
|
||||
public static final String CFG_PRIVATE_KEY = "privateKey";
|
||||
|
||||
// SSL System properties
|
||||
public static final String PROP_TRUST_STORE = "javax.net.ssl.trustStore";
|
||||
public static final String PROP_TRUST_STORE_PASSWORD = "javax.net.ssl.trustStorePassword";
|
||||
}
|
||||
@ -23,6 +23,7 @@ import cz.trask.adfs.config.AppConfig.ContextConfig;
|
||||
import cz.trask.adfs.config.ConfigurationManager;
|
||||
import cz.trask.adfs.context.BaseContextHandler;
|
||||
import cz.trask.adfs.service.AdfsTokenService;
|
||||
import static cz.trask.adfs.AdfsAuthMsConstants.*;
|
||||
|
||||
public class AdfsAuthMsServer {
|
||||
|
||||
@ -69,10 +70,10 @@ public class AdfsAuthMsServer {
|
||||
|
||||
private void applySslTrustProperties(AppConfig config) {
|
||||
if (config.getTrustStore() != null && !config.getTrustStore().isBlank()) {
|
||||
logger.info("Setting javax.net.ssl.trustStore to {}", config.getTrustStore());
|
||||
System.setProperty("javax.net.ssl.trustStore", config.getTrustStore());
|
||||
logger.info("Setting {} to {}", PROP_TRUST_STORE, config.getTrustStore());
|
||||
System.setProperty(PROP_TRUST_STORE, config.getTrustStore());
|
||||
if (config.getTrustStorePassword() != null) {
|
||||
System.setProperty("javax.net.ssl.trustStorePassword", config.getTrustStorePassword());
|
||||
System.setProperty(PROP_TRUST_STORE_PASSWORD, config.getTrustStorePassword());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,16 +13,10 @@ import com.sun.net.httpserver.Headers;
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
|
||||
import cz.trask.adfs.dto.TokenPayloadIdp;
|
||||
import static cz.trask.adfs.AdfsAuthMsConstants.*;
|
||||
|
||||
public class ProcessHandler extends BaseContextHandler {
|
||||
|
||||
private static final String AUTH_PREFIX_BEARER = "Bearer ";
|
||||
|
||||
private static final String ERR_SERVER_ERROR = "server_error";
|
||||
private static final String ERR_TOO_MANY_REQUESTS = "too_many_requests";
|
||||
private static final String ERR_INVALID_CONFIG = "invalid_configuration";
|
||||
private static final String ERR_PROCESS_FAILED = "process_failed";
|
||||
|
||||
private final AtomicInteger clientIdIndex = new AtomicInteger(0);
|
||||
|
||||
@Override
|
||||
|
||||
@ -33,25 +33,12 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import cz.trask.adfs.config.AdfsConfig;
|
||||
import cz.trask.adfs.dto.TokenPayloadIdp;
|
||||
import static cz.trask.adfs.AdfsAuthMsConstants.*;
|
||||
|
||||
public class AdfsTokenService {
|
||||
|
||||
private static final Logger logger = LogManager.getLogger(AdfsTokenService.class);
|
||||
|
||||
private static final String PARAM_RESOURCE = "resource";
|
||||
private static final String PARAM_CLIENT_ID = "client_id";
|
||||
private static final String PARAM_CLIENT_ASSERTION_TYPE = "client_assertion_type";
|
||||
private static final String PARAM_CLIENT_ASSERTION = "client_assertion";
|
||||
private static final String PARAM_GRANT_TYPE = "grant_type";
|
||||
|
||||
private static final String GRANT_TYPE_CLIENT_CREDENTIALS = "client_credentials";
|
||||
private static final String CLIENT_ASSERTION_TYPE =
|
||||
"urn:ietf:params:oauth:client-assertion-type:jwt-bearer";
|
||||
|
||||
private static final String HEADER_CONTENT_TYPE = "Content-Type";
|
||||
private static final String CONTENT_TYPE_FORM = "application/x-www-form-urlencoded";
|
||||
private static final String METHOD_POST = "POST";
|
||||
|
||||
private final AdfsConfig config;
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
@ -258,14 +245,14 @@ public class AdfsTokenService {
|
||||
}
|
||||
|
||||
private void validateConfig() {
|
||||
requireValue(config.getTokenUrl(), "tokenUrl");
|
||||
requireValue(config.getAudience(), "audience");
|
||||
requireValue(config.getResource(), "resource");
|
||||
requireValue(config.getTokenUrl(), CFG_TOKEN_URL);
|
||||
requireValue(config.getAudience(), CFG_AUDIENCE);
|
||||
requireValue(config.getResource(), CFG_RESOURCE);
|
||||
if (config.getClientIds() == null || config.getClientIds().isEmpty()) {
|
||||
throw new IllegalArgumentException("Missing or empty config value: clientIds");
|
||||
throw new IllegalArgumentException("Missing or empty config value: " + CFG_CLIENT_IDS);
|
||||
}
|
||||
requireValue(config.getCertificate(), "certificate");
|
||||
requireValue(config.getPrivateKey(), "privateKey");
|
||||
requireValue(config.getCertificate(), CFG_CERTIFICATE);
|
||||
requireValue(config.getPrivateKey(), CFG_PRIVATE_KEY);
|
||||
}
|
||||
|
||||
private void requireValue(String value, String name) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user