Example usage for io.vertx.core.json JsonObject getString

List of usage examples for io.vertx.core.json JsonObject getString

Introduction

In this page you can find the example usage for io.vertx.core.json JsonObject getString.

Prototype

public String getString(String key, String def) 

Source Link

Document

Like #getString(String) but specifying a default value to return if there is no entry.

Usage

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);
}