List of usage examples for io.vertx.core.json JsonObject getString
public String getString(String key, String def)
From source file:de.fraunhofer.fokus.redistest.Query.java
License:Creative Commons License
/** * Constructor for a Query object/* w w w .j a va 2 s .c o m*/ * @param json - JosonObject, a JSON representation of a Query object * @param issuer */ public Query(JsonObject json, String issuer) { familyName = NameHelper.toStringArray(json.getJsonArray("familyName", null)); firstName = NameHelper.toStringArray(json.getJsonArray("firstName", null)); placeOfBirth = json.getString("placeOfBirth", null); yearOfBirth = DateQuery.toDateQuery(json.getJsonObject("yearOfBirth", null)); monthOfBirth = DateQuery.toDateQuery(json.getJsonObject("monthOfBirth", null)); dayOfBirth = DateQuery.toDateQuery(json.getJsonObject("dayOfBirth", null)); gender = json.getString("gender", null); JsonArray tmp = json.getJsonArray("familyNameFltr"); if (tmp != null) { familyNameFltr = NameHelper.toStringArray(tmp); } tmp = json.getJsonArray("firstNameFltr"); if (tmp != null) { firstNameFltr = NameHelper.toStringArray(tmp); } String stmp = json.getString("placeOfBirthFltr"); if (stmp != null) { placeOfBirthFltr = stmp; } this.issuer = issuer; pseudonymized = json.getBoolean("pseudonymized", false); }
From source file:fr.wseduc.rack.controllers.RackController.java
License:Open Source License
@Override public void init(Vertx vertx, JsonObject config, RouteMatcher rm, Map<String, fr.wseduc.webutils.security.SecuredAction> securedActions) { super.init(vertx, config, rm, securedActions); this.threshold = config.getInteger("alertStorage", 80); String node = (String) vertx.sharedData().getLocalMap("server").get("node"); if (node == null) { node = ""; }/*from ww w .j a v a 2 s. c o m*/ this.imageResizerAddress = node + config.getString("image-resizer-address", "wse.image.resizer"); this.timelineHelper = new TimelineHelper(vertx, eb, config); this.eventStore = EventStoreFactory.getFactory().getEventStore(Rack.class.getSimpleName()); }
From source file:fr.wseduc.rack.controllers.RackController.java
License:Open Source License
/** * Copy a document from the rack to the workspace. * @param request Client request with file ids and destination folder (optional) in the body using json format. *//*from w ww . jav a 2 s .c o m*/ @Post("/copy") @SecuredAction(workspacecopy) public void rackToWorkspace(final HttpServerRequest request) { UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override public void handle(final UserInfos user) { if (user != null) { RequestUtils.bodyToJson(request, pathPrefix + "rackToWorkspace", new Handler<JsonObject>() { @Override public void handle(JsonObject json) { JsonArray idsArray = json.getJsonArray("ids"); final String folder = json.getString("folder", ""); copyFiles(request, idsArray, folder, user, WORKSPACE_COLLECTION); } }); } else { badRequest(request); } } }); }
From source file:fr.wseduc.smsproxy.providers.ovh.OVHSmsProvider.java
License:Apache License
@Override public void initProvider(Vertx vertx, JsonObject config) { this.AK = config.getString("applicationKey", ""); this.AS = config.getString("applicationSecret", ""); this.CK = config.getString("consumerKey", ""); this.endPoint = config.getString("ovhEndPoint", OVH_ENDPOINT.ovh_eu.getValue()); ovhRestClient = new OVHClient(vertx, endPoint, AK, AS, CK); }
From source file:io.apiman.gateway.platforms.vertx3.api.auth.AuthFactory.java
License:Apache License
public static AuthHandler getAuth(Vertx vertx, Router router, VertxEngineConfig apimanConfig, JsonObject auth) { String type = auth.getString("type", "NONE"); JsonObject authConfig = auth.getJsonObject("config", new JsonObject()); switch (AuthType.getType(type)) { case BASIC:/* ww w . j a v a2 s .c om*/ return BasicAuth.create(authConfig); case NONE: return NoneAuth.create(); case KEYCLOAK: return KeycloakOAuthFactory.create(vertx, router, apimanConfig, authConfig); default: return NoneAuth.create(); } }
From source file:io.apiman.gateway.platforms.vertx3.api.auth.BasicAuth.java
License:Apache License
public static AuthHandler create(JsonObject apimanConfig) { return new BasicAuth(authenticateBasic(apimanConfig), apimanConfig.getString("realm", "apiman-gateway")); }
From source file:io.apiman.test.common.echo.EchoServerVertx.java
License:Apache License
private JksOptions getJksOptions(String key, String defaultResource) { JsonObject config = config().getJsonObject(key, new JsonObject()); JksOptions jksOptions = new JksOptions().setPassword(config.getString("password", "secret")) .setValue(getResource(config.getString("resourceName", defaultResource))); return jksOptions; }
From source file:io.flowly.auth.ExtJwtAuthProvider.java
License:Open Source License
public ExtJwtAuthProvider(Vertx vertx, JsonObject config) { this.permissionsClaimKey = config.getString("permissionsClaimKey", "permissions"); final JsonObject keyStore = config.getJsonObject("keyStore"); try {//from ww w . ja v a 2s . c om if (keyStore != null) { KeyStore ks = KeyStore.getInstance(keyStore.getString("type", "jceks")); VertxInternal vertxInternal = (VertxInternal) vertx; try (InputStream in = new FileInputStream(vertxInternal.resolveFile(keyStore.getString("path")))) { ks.load(in, keyStore.getString(io.flowly.core.security.User.PASSWORD).toCharArray()); } this.jwt = new JWT(ks, keyStore.getString(io.flowly.core.security.User.PASSWORD).toCharArray()); } else { this.jwt = new JWT(null, null); } } catch (KeyStoreException | IOException | CertificateException | NoSuchAlgorithmException e) { throw new RuntimeException(e); } }
From source file:io.nitor.api.backend.auth.SetupAzureAdConnectAuth.java
License:Apache License
public static void setupAzureAd(JsonObject adAuth, Router router, String publicURI, boolean virtualHost, CookieSessionHandler sessionHandler, HttpClient httpClient) { final String callbackPath = adAuth.getString("callbackPath", "/oidc/callback"); String redirectUri = publicURI + callbackPath; adAuth.put("redirectUri", redirectUri); String path = adAuth.getString("route", "/*"); List<GraphQuery> graphQueries = new ArrayList<>(); JsonArray queryNodes = adAuth.getJsonArray("graphQueries"); if (queryNodes == null) { graphQueries.add(new GraphQuery(adAuth, "https://graph.microsoft.com/beta/me?$expand=memberOf")); } else {/* w ww . ja v a2s. c o m*/ queryNodes.stream().map(JsonObject.class::cast).map(GraphQuery::new).forEach(graphQueries::add); } Set<String> forbiddenHeaders = graphQueries.stream().flatMap(gq -> gq.headerMappings.keySet().stream()) .collect(toSet()); logger.info("Graph queries: " + graphQueries.stream().map(gq -> gq.graphQueryURI).collect(Collectors.joining(", "))); logger.info("Headers: " + forbiddenHeaders); HashMap<String, Pattern> requiredHeaderMatchers = new HashMap<>(); adAuth.getJsonObject("requiredHeaders", new JsonObject()).forEach(mapping -> requiredHeaderMatchers .put(mapping.getKey(), Pattern.compile(mapping.getValue().toString()))); RedirectTokenService redirectTokenService = new RedirectTokenService(sessionHandler.getCookieConverter()); Handler<RoutingContext> securityHandler = authHandler(adAuth, forbiddenHeaders, requiredHeaderMatchers, publicURI, virtualHost, sessionHandler, redirectUri, redirectTokenService); router.get(FORBIDDEN_PATH).handler(ctx -> errorWithLogoutLink(ctx, FORBIDDEN)); router.get(UNAUTHORIZED_PATH).handler(ctx -> errorWithLogoutLink(ctx, UNAUTHORIZED)); router.get(callbackPath).handler(validateAuthCallback(adAuth, httpClient, sessionHandler, graphQueries, redirectUri, redirectTokenService)); if (virtualHost) { router.options(PROXY_AUTH_REDIRECT_AFTER).handler(SetupAzureAdConnectAuth::optionsHandler); router.route(PROXY_AUTH_REDIRECT_AFTER).handler(ctx -> { // phase 3: executed when returning to virtual domain with cookie and original url inside token // -> jump to original locatin and set the cookie String token = ctx.request().getParam("t"); Map<String, String> params = redirectTokenService.getParameters(ctx, token); if (params == null) { ctx.reroute(GET, UNAUTHORIZED_PATH); logger.warn("phase3: Could not decrypt parameters from 't'"); return; } String originalUrl = params.get("u"); String originalHost = getUriHostName(originalUrl); String host = getUriHostName(ctx.request().host()); if (originalHost != null && originalHost.equals(host)) { ctx.response().setStatusCode(TEMPORARY_REDIRECT.code()).putHeader(LOCATION, originalUrl) .putHeader(SET_COOKIE, params.get("c")).end(); } else { logger.warn("phase3: original host from cookie " + originalHost + " does not match request host " + host); ctx.reroute(GET, FORBIDDEN_PATH); } }); } router.route(path).handler(securityHandler); if (virtualHost) { router.options(PROXY_AUTH_REDIRECT_BEFORE).handler(SetupAzureAdConnectAuth::optionsHandler); router.route(PROXY_AUTH_REDIRECT_BEFORE).handler(securityHandler); router.route(PROXY_AUTH_REDIRECT_BEFORE).handler(ctx -> { // phase 2: executed when returning from authentication server with valid cookie // -> jump to original virtual host domain and pass the original url and auth cookie inside token String token = ctx.request().getParam("t"); Map<String, String> params = redirectTokenService.getParameters(ctx, token); if (params == null) { ctx.reroute(GET, UNAUTHORIZED_PATH); logger.warn("phase2: Could not decrypt parameters from 't'"); return; } String originalUrl = params.get("u"); String originalHost = getUriHostNamePort(originalUrl); if (originalUrl == null || !originalUrl.startsWith("https://")) { ctx.reroute(GET, FORBIDDEN_PATH); logger.warn( "phase2: original url from cookie " + originalUrl + " does not start with https://"); return; } Cookie cookie = sessionHandler.getAuthCookie(ctx.cookies()); params.put("c", cookie.encode()); String newToken = redirectTokenService.createToken(ctx, params); StringBuilder sb = new StringBuilder(); sb.append("https://").append(originalHost).append(PROXY_AUTH_REDIRECT_AFTER).append("?t=") .append(urlEncode(newToken)); ctx.response().setStatusCode(TEMPORARY_REDIRECT.code()).putHeader(LOCATION, sb).end(); }); } }
From source file:io.nitor.api.backend.cache.CacheHandler.java
License:Apache License
public CacheHandler(JsonObject cacheConf, FileSystem fileSystem) { dir = Paths.get(cacheConf.getString("cacheDir", "/tmp/backend")).toAbsolutePath(); this.fileSystem = fileSystem; try {//from w ww. ja va2 s . c om createDirectories(dir); walk(dir, 1).filter(p -> !p.equals(dir)) .forEach(p -> fileSystem.deleteRecursiveBlocking(p.toString(), true)); } catch (IOException ex) { throw new RuntimeException("Failed to initialize cache directory at " + dir); } logger.info("Caching responses to " + dir); }