List of usage examples for io.vertx.core.json JsonObject encode
public String encode()
From source file:org.entcore.auth.Auth.java
License:Open Source License
@Override public void start() throws Exception { final EventBus eb = getEventBus(vertx); super.start(); setDefaultResourceFilter(new AuthResourcesProvider(new Neo(vertx, eb, null))); final UserAuthAccount userAuthAccount = new DefaultUserAuthAccount(vertx, config); final EventStore eventStore = EventStoreFactory.getFactory().getEventStore(Auth.class.getSimpleName()); AuthController authController = new AuthController(); authController.setEventStore(eventStore); authController.setUserAuthAccount(userAuthAccount); addController(authController);/* w ww . j a v a 2s . co m*/ final ConfigurationController configurationController = new ConfigurationController(); configurationController.setConfigurationService(new DefaultConfigurationService()); addController(configurationController); final String samlMetadataFolder = config.getString("saml-metadata-folder"); if (samlMetadataFolder != null && !samlMetadataFolder.trim().isEmpty()) { vertx.fileSystem().readDir(samlMetadataFolder, new Handler<AsyncResult<List<String>>>() { @Override public void handle(AsyncResult<List<String>> event) { if (event.succeeded() && event.result().size() > 0) { try { SamlController samlController = new SamlController(); JsonObject conf = config; vertx.deployVerticle(SamlValidator.class, new DeploymentOptions().setConfig(conf).setWorker(true)); samlController.setEventStore(eventStore); samlController.setUserAuthAccount(userAuthAccount); samlController.setServiceProviderFactory(new DefaultServiceProviderFactory( config.getJsonObject("saml-services-providers"))); samlController .setSignKey((String) vertx.sharedData().getLocalMap("server").get("signKey")); samlController.setSamlWayfParams(config.getJsonObject("saml-wayf")); samlController.setIgnoreCallBackPattern(config.getString("ignoreCallBackPattern")); addController(samlController); LocalMap<Object, Object> server = vertx.sharedData().getLocalMap("server"); if (server != null) { String loginUri = config.getString("loginUri"); String callbackParam = config.getString("callbackParam"); if (loginUri != null && !loginUri.trim().isEmpty()) { server.putIfAbsent("loginUri", loginUri); } if (callbackParam != null && !callbackParam.trim().isEmpty()) { server.putIfAbsent("callbackParam", callbackParam); } final JsonObject authLocations = config.getJsonObject("authLocations"); if (authLocations != null && authLocations.size() > 0) { server.putIfAbsent("authLocations", authLocations.encode()); } } } catch (ConfigurationException e) { log.error("Saml loading error.", e); } } } }); } final JsonObject openidFederate = config.getJsonObject("openid-federate"); final JsonObject openidConnect = config.getJsonObject("openid-connect"); final OpenIdConnectController openIdConnectController; if (openidFederate != null || openidConnect != null) { openIdConnectController = new OpenIdConnectController(); addController(openIdConnectController); } else { openIdConnectController = null; } if (openidConnect != null) { final String certsPath = openidConnect.getString("certs"); if (isNotEmpty(certsPath)) { JWT.listCertificates(vertx, certsPath, new Handler<JsonObject>() { @Override public void handle(JsonObject certs) { openIdConnectController.setCertificates(certs); } }); } } if (openidFederate != null) { openIdConnectController.setEventStore(eventStore); openIdConnectController.setUserAuthAccount(userAuthAccount); openIdConnectController.setSignKey((String) vertx.sharedData().getLocalMap("server").get("signKey")); openIdConnectController.setOpenIdConnectServiceProviderFactory( new DefaultOpenIdServiceProviderFactory(vertx, openidFederate.getJsonObject("domains"))); openIdConnectController.setSubMapping(openidFederate.getBoolean("authorizeSubMapping", false)); final JsonArray authorizedHostsLogin = openidFederate.getJsonArray("authorizedHostsLogin"); if (authorizedHostsLogin != null && authorizedHostsLogin.size() > 0) { authController.setAuthorizedHostsLogin(authorizedHostsLogin); } } }
From source file:org.entcore.auth.controllers.OpenIdConnectController.java
License:Open Source License
@Get("/openid/authenticate") public void authenticate(final HttpServerRequest request) { final OpenIdConnectServiceProvider openIdConnectServiceProvider = openIdConnectServiceProviderFactory .serviceProvider(request);/*w w w .ja va 2 s. c om*/ if (openIdConnectServiceProvider == null) return; OpenIdConnectClient oic = openIdConnectServiceProviderFactory.openIdClient(request); if (oic == null) return; final String state = CookieHelper.getInstance().getSigned("csrfstate", request); if (state == null) { forbidden(request, "invalid_state"); return; } final String nonce = CookieHelper.getInstance().getSigned("nonce", request); if (nonce == null) { forbidden(request, "invalid_replay"); return; } oic.authorizationCodeToken(request, state, nonce, new Handler<JsonObject>() { @Override public void handle(final JsonObject payload) { if (payload != null) { log.info("payload : " + payload.encode()); openIdConnectServiceProvider.executeFederate(payload, new Handler<Either<String, Object>>() { @Override public void handle(Either<String, Object> res) { if (res.isRight() && res.right().getValue() instanceof JsonObject) { authenticate((JsonObject) res.right().getValue(), "_", payload.getString("id_token_hint"), request); } else if (subMapping && res.isLeft() && OpenIdConnectServiceProvider.UNRECOGNIZED_USER_IDENTITY .equals(res.left().getValue())) { final String p = payload.encode(); try { JsonObject params = new JsonObject().put("payload", p).put("key", HmacSha1.sign(p, signKey)); renderView(request, params, "mappingFederatedUser.html", null); } catch (Exception e) { log.error("Error loading mapping openid connect identity.", e); renderError(request); } } else { forbidden(request, "invalid.payload"); } } }); } else { forbidden(request, "invalid_token"); } } }); }
From source file:org.entcore.auth.oauth.OAuthDataHandler.java
License:Open Source License
private void createAuthInfo(String clientId, String userId, String scope, String redirectUri, final Handler<AuthInfo> handler) { final JsonObject auth = new JsonObject().put("clientId", clientId).put("userId", userId).put("scope", scope) .put("createdAt", MongoDb.now()).put("refreshToken", UUID.randomUUID().toString()); if (redirectUri != null) { auth.put("redirectUri", redirectUri).put("code", UUID.randomUUID().toString()); }//from w w w. j a va 2 s.c o m mongo.save(AUTH_INFO_COLLECTION, auth, new io.vertx.core.Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { auth.put("id", res.body().getString("_id")); auth.remove("createdAt"); ObjectMapper mapper = new ObjectMapper(); try { handler.handle(mapper.readValue(auth.encode(), AuthInfo.class)); } catch (IOException e) { handler.handle(null); } } else { handler.handle(null); } } }); }
From source file:org.entcore.auth.oauth.OAuthDataHandler.java
License:Open Source License
@Override public void getAuthInfoByCode(String code, final Handler<AuthInfo> handler) { if (code != null && !code.trim().isEmpty()) { JsonObject query = new JsonObject().put("code", code).put("createdAt", new JsonObject().put("$gte", new JsonObject().put("$date", System.currentTimeMillis() - CODE_EXPIRES))); mongo.findOne(AUTH_INFO_COLLECTION, query, new io.vertx.core.Handler<Message<JsonObject>>() { @Override// w ww . ja v a 2 s .c om public void handle(Message<JsonObject> res) { JsonObject r = res.body().getJsonObject("result"); if ("ok".equals(res.body().getString("status")) && r != null && r.size() > 0) { r.put("id", r.getString("_id")); r.remove("_id"); r.remove("createdAt"); ObjectMapper mapper = new ObjectMapper(); try { handler.handle(mapper.readValue(r.encode(), AuthInfo.class)); } catch (IOException e) { handler.handle(null); } } else { handler.handle(null); } } }); } else { handler.handle(null); } }
From source file:org.entcore.auth.oauth.OAuthDataHandler.java
License:Open Source License
@Override public void getAuthInfoByRefreshToken(String refreshToken, final Handler<AuthInfo> handler) { if (refreshToken != null && !refreshToken.trim().isEmpty()) { JsonObject query = new JsonObject().put("refreshToken", refreshToken); mongo.findOne(AUTH_INFO_COLLECTION, query, new io.vertx.core.Handler<Message<JsonObject>>() { @Override//w ww .ja v a 2 s .com public void handle(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonObject r = res.body().getJsonObject("result"); if (r == null) { handler.handle(null); return; } r.put("id", r.getString("_id")); r.remove("_id"); r.remove("createdAt"); ObjectMapper mapper = new ObjectMapper(); try { handler.handle(mapper.readValue(r.encode(), AuthInfo.class)); } catch (IOException e) { handler.handle(null); } } else { handler.handle(null); } } }); } else { handler.handle(null); } }
From source file:org.entcore.auth.oauth.OAuthDataHandler.java
License:Open Source License
@Override public void getAuthInfoById(String id, final Handler<AuthInfo> handler) { if (id != null && !id.trim().isEmpty()) { JsonObject query = new JsonObject().put("_id", id); mongo.findOne(AUTH_INFO_COLLECTION, query, new io.vertx.core.Handler<Message<JsonObject>>() { @Override/*from www.j a va 2s. co m*/ public void handle(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonObject r = res.body().getJsonObject("result"); r.put("id", r.getString("_id")); r.remove("_id"); r.remove("createdAt"); ObjectMapper mapper = new ObjectMapper(); try { handler.handle(mapper.readValue(r.encode(), AuthInfo.class)); } catch (IOException e) { handler.handle(null); } } else { handler.handle(null); } } }); } else { handler.handle(null); } }
From source file:org.entcore.cas.data.EntCoreDataHandler.java
License:Open Source License
private AuthCas deserialize(JsonObject res) { if (res == null) { return null; }/*from ww w . j a v a2 s.co m*/ res.remove("updatedAt"); try { return mapper.readValue(res.encode(), AuthCas.class); } catch (IOException e) { log.error(e.getMessage(), e); return null; } }
From source file:org.entcore.common.elasticsearch.BulkRequest.java
License:Open Source License
public void index(JsonObject element, JsonObject metadata) { if (element == null) return;/*w w w . j a va 2 s . com*/ if (metadata == null) { metadata = new JsonObject(); final Object id = element.remove("_id"); if (id != null) { metadata.put("_id", id); } } request.write(new JsonObject().put("index", metadata).encode() + "\n" + element.encode() + "\n"); }
From source file:org.entcore.common.elasticsearch.ElasticSearch.java
License:Open Source License
private void postInternal(String path, int expectedStatus, JsonObject payload, Handler<AsyncResult<JsonObject>> handler) { final ElasticSearchClient esc = getClient(); final HttpClientRequest req = esc.client.post(path, event -> { if (event.statusCode() == expectedStatus) { event.bodyHandler(respBody -> handler.handle(new DefaultAsyncResult<>(new JsonObject(respBody)))); } else {//from ww w. j a v a 2s .co m handler.handle(new DefaultAsyncResult<>(new ElasticSearchException(event.statusMessage()))); } esc.checkSuccess(); }); req.exceptionHandler(e -> checkDisableClientAfterError(esc, e)); req.putHeader("Content-Type", "application/json"); req.putHeader("Accept", "application/json; charset=UTF-8"); req.end(payload.encode()); }
From source file:org.entcore.common.events.impl.BusEventStore.java
License:Open Source License
@Override protected void storeEvent(final JsonObject event, final Handler<Either<String, Void>> handler) { eventBus.send("event.store", event, new Handler<AsyncResult<Message<JsonObject>>>() { @Override/*from w w w . j a va 2 s.co m*/ public void handle(AsyncResult<Message<JsonObject>> res) { if (res.succeeded()) { handler.handle(new Either.Right<String, Void>(null)); } else { handler.handle(new Either.Left<String, Void>( "Error : " + res.cause().getMessage() + ", Event : " + event.encode())); } } }); }