use of com.microsoft.azure.oidc.exception.PreconditionException in project azure-tools-for-java by Microsoft.
the class SimpleAuthenticationHelper method addCookie.
private String addCookie(final HttpServletRequest httpRequest, final HttpServletResponse httpResponse, final String cookieName, final String cookieValue) {
if (httpRequest == null || httpResponse == null || cookieName == null || cookieValue == null) {
throw new PreconditionException("Required parameter is null");
}
final Cookie cookie = new Cookie(cookieName, "");
cookie.setValue(cookieValue);
cookie.setMaxAge(-1);
cookie.setSecure(true);
cookie.setDomain(httpRequest.getServerName());
cookie.setPath("/");
cookie.setHttpOnly(true);
httpResponse.addCookie(cookie);
return cookie.getValue();
}
use of com.microsoft.azure.oidc.exception.PreconditionException in project azure-tools-for-java by Microsoft.
the class SimpleAuthenticationHelper method getAuthenticationEndPoint.
private String getAuthenticationEndPoint(final HttpServletRequest httpRequest, final Token token, final Boolean isError) {
if (httpRequest == null) {
throw new PreconditionException("Required parameter is null");
}
try {
final String requestURI = httpRequest.getRequestURI();
final String queryString = httpRequest.getQueryString();
final ApplicationSettings applicationSettings = applicationSettingsLoader.load();
final Configuration configuration = configurationCache.load();
if (configuration == null) {
throw new GeneralException("Error loading configuration");
}
final HttpSession session = httpRequest.getSession(false);
final String sessionName = session == null ? "" : session.getId();
final StringBuilder uriStringBuilder = new StringBuilder();
Base64 encoder = new Base64();
if (isError) {
final State previousState = getState(httpRequest);
uriStringBuilder.append(previousState.getRequestURI());
} else {
uriStringBuilder.append(requestURI);
if (queryString != null && !"".equals(queryString.trim())) {
uriStringBuilder.append("?");
uriStringBuilder.append(queryString);
}
}
final String userID = token == null ? "" : token.getUserID().getValue();
final State state = stateFactory.createState(userID, sessionName, uriStringBuilder.toString());
final ObjectMapper mapper = new ObjectMapper();
final String stateString = mapper.writeValueAsString(state);
final String urlString = String.format("%s%sclient_Id=%s&state=%s&nonce=defaultNonce&redirect_uri=%s&scope=openid%%20offline_access&response_type=code+id_token&prompt=%s&response_mode=form_post", configuration.getAuthenticationEndPoint(), configuration.getAuthenticationEndPoint().getName().contains("?") ? "&" : "?", applicationSettings.getApplicationId(), new String(encoder.encode(stateString.getBytes()), "UTF-8"), URLEncoder.encode(applicationSettings.getRedirectURL().getValue(), "UTF-8"), token == null ? "login" : "none");
return urlString;
} catch (IOException e) {
throw new GeneralException("IO Exception", e);
}
}
use of com.microsoft.azure.oidc.exception.PreconditionException in project azure-tools-for-java by Microsoft.
the class SimpleWellKnownParser method getAlgorithms.
@Override
public List<Algorithm> getAlgorithms(JsonNode node) {
if (node == null) {
throw new PreconditionException("Required parameter is null");
}
final List<Algorithm> algorithms = new ArrayList<Algorithm>();
for (final JsonNode n : node.get("id_token_signing_alg_values_supported")) {
final Algorithm algorithm = algorithmFactory.createAlgorithm(n.asText());
algorithms.add(algorithm);
}
return algorithms;
}
use of com.microsoft.azure.oidc.exception.PreconditionException in project azure-tools-for-java by Microsoft.
the class SimpleKeyStoreLoader method loadAsync.
@Override
public Future<JsonNode> loadAsync(final EndPoint endPoint) {
if (endPoint == null) {
throw new PreconditionException("Required parameter is null");
}
final ExecutorService executorService = Executors.newSingleThreadExecutor();
final Future<JsonNode> future = executorService.submit(new Callable<JsonNode>() {
public JsonNode call() throws Exception {
return load(endPoint);
}
});
executorService.shutdown();
return future;
}
use of com.microsoft.azure.oidc.exception.PreconditionException in project azure-tools-for-java by Microsoft.
the class SimpleKeyStoreLoader method load.
public JsonNode load(final EndPoint endPoint) {
if (endPoint == null) {
throw new PreconditionException("Required parameter is null");
}
try {
final StringBuilder builder = new StringBuilder();
final URL url = new URL(endPoint.getName());
final URLConnection connection = url.openConnection();
try (final BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
for (String line = in.readLine(); line != null; line = in.readLine()) {
builder.append(line);
}
}
final ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(builder.toString(), JsonNode.class);
} catch (IOException e) {
LOGGER.error("IO Exception", e);
} catch (RuntimeException e) {
LOGGER.error(e.getMessage(), e);
}
return null;
}
Aggregations