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

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

Introduction

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

Prototype

public JsonObject put(String key, Object value) 

Source Link

Document

Put an Object into the JSON object with the specified key.

Usage

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

private void viewLogin(final HttpServerRequest request, String error, String callBack) {
    final JsonObject context = new JsonObject();
    if (callBack != null && !callBack.trim().isEmpty()) {
        try {/*w w w .j  a v a  2  s.  c o m*/
            context.put("callBack", URLEncoder.encode(callBack, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            log.error(e.getMessage(), e);
        }
    }
    if (error != null && !error.trim().isEmpty()) {
        context.put("error", new JsonObject().put("message",
                I18n.getInstance().translate(error, getHost(request), I18n.acceptLanguage(request))));
    }
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override
        public void handle(UserInfos user) {
            context.put("notLoggedIn", user == null);
            renderView(request, context, "login.html", null);
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

private void handleMatchActivationCode(String login, String password, HttpServerRequest request) {
    trace.info("Code d'activation entr pour l'utilisateur " + login);
    final JsonObject json = new JsonObject();
    json.put("activationCode", password);
    json.put("login", login);
    if (config.getBoolean("cgu", true)) {
        json.put("cgu", true);
    }//from  w  w  w . j a va 2  s.c om
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override
        public void handle(UserInfos user) {
            json.put("notLoggedIn", user == null);
            renderView(request, json, "activation.html", null);
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Get("/activation")
public void activeAccount(final HttpServerRequest request) {
    final JsonObject json = new JsonObject();
    if (request.params().contains("activationCode")) {
        json.put("activationCode", request.params().get("activationCode"));
    }//  w  ww .  j  a v a 2  s  .co  m
    if (request.params().contains("login")) {
        json.put("login", request.params().get("login"));
    }
    if (config.getBoolean("cgu", true)) {
        json.put("cgu", true);
    }
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override
        public void handle(UserInfos user) {
            json.put("notLoggedIn", user == null);
            renderView(request, json);
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Post("/activation")
public void activeAccountSubmit(final HttpServerRequest request) {
    request.setExpectMultipart(true);/*from  w  w  w.  ja  v  a  2 s .  co  m*/
    request.endHandler(new io.vertx.core.Handler<Void>() {

        @Override
        public void handle(Void v) {
            final String login = request.formAttributes().get("login");
            final String activationCode = request.formAttributes().get("activationCode");
            final String email = request.formAttributes().get("mail");
            final String phone = request.formAttributes().get("phone");
            final String theme = request.formAttributes().get("theme");
            String password = request.formAttributes().get("password");
            String confirmPassword = request.formAttributes().get("confirmPassword");
            if (config.getBoolean("cgu", true) && !"true".equals(request.formAttributes().get("acceptCGU"))) {
                trace.info("Invalid cgu " + login);
                JsonObject error = new JsonObject().put("error", new JsonObject().put("message", "invalid.cgu"))
                        .put("cgu", true);
                if (activationCode != null) {
                    error.put("activationCode", activationCode);
                }
                if (login != null) {
                    error.put("login", login);
                }
                renderJson(request, error);
            } else if (login == null || activationCode == null || password == null || login.trim().isEmpty()
                    || activationCode.trim().isEmpty() || password.trim().isEmpty()
                    || !password.equals(confirmPassword) || !passwordPattern.matcher(password).matches()
                    || (config.getJsonObject("mandatory", new JsonObject()).getBoolean("mail", false)
                            && (email == null || email.trim().isEmpty() || invalidEmails.containsKey(email)))
                    || (config.getJsonObject("mandatory", new JsonObject()).getBoolean("phone", false)
                            && (phone == null || phone.trim().isEmpty()))
                    || (email != null && !email.trim().isEmpty() && !StringValidation.isEmail(email))
                    || (phone != null && !phone.trim().isEmpty() && !StringValidation.isPhone(phone))) {
                trace.info("Echec de l'activation du compte utilisateur " + login);
                JsonObject error = new JsonObject().put("error",
                        new JsonObject().put("message",
                                I18n.getInstance().translate("auth.activation.invalid.argument",
                                        getHost(request), I18n.acceptLanguage(request))));
                if (activationCode != null) {
                    error.put("activationCode", activationCode);
                }
                if (login != null) {
                    error.put("login", login);
                }
                if (config.getBoolean("cgu", true)) {
                    error.put("cgu", true);
                }
                renderJson(request, error);
            } else {
                userAuthAccount.activateAccount(login, activationCode, password, email, phone, theme, request,
                        new io.vertx.core.Handler<Either<String, String>>() {

                            @Override
                            public void handle(Either<String, String> activated) {
                                if (activated.isRight() && activated.right().getValue() != null) {
                                    handleActivation(login, request, activated);
                                } else {
                                    // if failed because duplicated user
                                    if (activated.isLeft() && "activation.error.duplicated"
                                            .equals(activated.left().getValue())) {
                                        trace.info("Echec de l'activation : utilisateur " + login
                                                + " en doublon.");
                                        JsonObject error = new JsonObject().put("error",
                                                new JsonObject().put("message",
                                                        I18n.getInstance().translate(
                                                                activated.left().getValue(), getHost(request),
                                                                I18n.acceptLanguage(request))));
                                        error.put("activationCode", activationCode);
                                        renderJson(request, error);
                                    } else {
                                        // else try activation with loginAlias
                                        userAuthAccount.activateAccountByLoginAlias(login, activationCode,
                                                password, email, phone, theme, request,
                                                new io.vertx.core.Handler<Either<String, String>>() {
                                                    @Override
                                                    public void handle(Either<String, String> activated) {
                                                        if (activated.isRight()
                                                                && activated.right().getValue() != null) {
                                                            handleActivation(login, request, activated);
                                                        } else {
                                                            trace.info(
                                                                    "Echec de l'activation : compte utilisateur "
                                                                            + login
                                                                            + " introuvable ou dj activ.");
                                                            JsonObject error = new JsonObject().put("error",
                                                                    new JsonObject().put("message",
                                                                            I18n.getInstance().translate(
                                                                                    activated.left().getValue(),
                                                                                    getHost(request),
                                                                                    I18n.acceptLanguage(
                                                                                            request))));
                                                            error.put("activationCode", activationCode);
                                                            renderJson(request, error);
                                                        }
                                                    }
                                                });
                                    }
                                }
                            }
                        });
            }
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Get("/forgot")
public void forgotPassword(final HttpServerRequest request) {
    final JsonObject context = new JsonObject();
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override//from   www.  jav a  2  s  .  c  om
        public void handle(UserInfos user) {
            context.put("notLoggedIn", user == null);
            renderView(request, context);
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Get("/upgrade")
public void upgrade(final HttpServerRequest request) {
    final JsonObject context = new JsonObject();
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override/* w ww. j  a  v a2  s  .  c  o m*/
        public void handle(UserInfos user) {
            context.put("notLoggedIn", user == null);
            renderView(request, context);
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

private void resetPasswordView(final HttpServerRequest request, final JsonObject p) {
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override//from www.  ja v  a  2s.  c o m
        public void handle(UserInfos user) {
            JsonObject params = p;
            if (params == null) {
                params = new JsonObject();
            }
            if (user != null && "password".equals(request.params().get("resetCode"))) {
                renderView(request,
                        params.put("login", user.getLogin()).put("callback", "/userbook/mon-compte"),
                        "changePassword.html", null);
            } else {
                renderView(request,
                        params.put("notLoggedIn", user == null).put("login", request.params().get("login"))
                                .put("resetCode", request.params().get("resetCode")),
                        "reset.html", null);
            }
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Post("/reset")
public void resetPasswordSubmit(final HttpServerRequest request) {
    request.setExpectMultipart(true);//  w  w w.  j  av a  2s.co  m
    request.endHandler(new io.vertx.core.Handler<Void>() {

        @Override
        public void handle(Void v) {
            final String login = request.formAttributes().get("login");
            final String resetCode = request.formAttributes().get("resetCode");
            final String oldPassword = request.formAttributes().get("oldPassword");
            final String password = request.formAttributes().get("password");
            String confirmPassword = request.formAttributes().get("confirmPassword");
            final String callback = Utils.getOrElse(request.formAttributes().get("callback"), "/auth/login",
                    false);
            if (login == null
                    || ((resetCode == null || resetCode.trim().isEmpty())
                            && (oldPassword == null || oldPassword.trim().isEmpty()))
                    || password == null || login.trim().isEmpty() || password.trim().isEmpty()
                    || !password.equals(confirmPassword) || !passwordPattern.matcher(password).matches()) {
                trace.info(
                        "Erreur lors de la rinitialisation " + "du mot de passe de l'utilisateur " + login);
                JsonObject error = new JsonObject().put("error",
                        new JsonObject().put("message",
                                I18n.getInstance().translate("auth.reset.invalid.argument", getHost(request),
                                        I18n.acceptLanguage(request))));
                if (resetCode != null) {
                    error.put("resetCode", resetCode);
                }
                renderJson(request, error);
            } else {
                final io.vertx.core.Handler<Boolean> resultHandler = new io.vertx.core.Handler<Boolean>() {

                    @Override
                    public void handle(Boolean reseted) {
                        if (Boolean.TRUE.equals(reseted)) {
                            trace.info("Rinitialisation russie du mot de passe de l'utilisateur " + login);
                            redirect(request, callback);
                        } else {
                            trace.info("Erreur lors de la rinitialisation "
                                    + "du mot de passe de l'utilisateur " + login);
                            error(request, resetCode);
                        }
                    }
                };
                if (resetCode != null && !resetCode.trim().isEmpty()) {
                    userAuthAccount.resetPassword(login, resetCode, password, resultHandler);
                } else {
                    DataHandler data = oauthDataFactory.create(new HttpServerRequestAdapter(request));
                    data.getUserId(login, oldPassword, new Handler<String>() {

                        @Override
                        public void handle(String userId) {
                            if (userId != null && !userId.trim().isEmpty()) {
                                userAuthAccount.changePassword(login, password, resultHandler);
                            } else {
                                error(request, null);
                            }
                        }
                    });
                }
            }
        }

        private void error(final HttpServerRequest request, final String resetCode) {
            JsonObject error = new JsonObject().put("error", new JsonObject().put("message", I18n.getInstance()
                    .translate("reset.error", getHost(request), I18n.acceptLanguage(request))));
            if (resetCode != null) {
                error.put("resetCode", resetCode);
            }
            renderJson(request, error);
        }
    });
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Get("/cgu")
public void cgu(final HttpServerRequest request) {
    final JsonObject context = new JsonObject();
    UserUtils.getUserInfos(eb, request, new io.vertx.core.Handler<UserInfos>() {
        @Override/*from  w w w  . j av a  2  s  .  c  o  m*/
        public void handle(UserInfos user) {
            context.put("notLoggedIn", user == null);
            renderView(request, context);
        }
    });
}

From source file:org.entcore.auth.controllers.SamlController.java

License:Open Source License

/**
 * Generate HTML auto-submit FORM with samlResponse and render the page
 * @param samlResponse64 base64 SAMLResponse
 * @param destination the recipient (SP acs)
 *///from  w w  w.j a  v  a 2  s  .  c  o  m
private void renderSamlResponse(UserInfos user, String samlResponse64, String providerId, String destination,
        HttpServerRequest request) {
    JsonObject paramsFED = new JsonObject();
    paramsFED.put("SAMLResponse", samlResponse64);
    JsonObject relayStateMap = config.getJsonObject("relay-state");
    if (relayStateMap != null) {
        String relayState = relayStateMap.getString(providerId);
        if (relayState != null) {
            paramsFED.put("RelayState", relayState);
        } else {
            log.error("Error loading relay-state for providerId : " + providerId);
        }
    } else {
        log.error("Error loading relay-state properties.");
    }
    paramsFED.put("Destination", destination);
    renderView(request, paramsFED, "fed.html", null);
}