/** * Authenticates the user and returns a JWToken if successful. * * @param username * Username * @param password * Password * @param resultHandler * Handler to be invoked with the created JWToken */ public void generateToken(String username, String password, Handler<AsyncResult<String>> resultHandler) { authenticate(username, password, rh -> { if (rh.failed()) { resultHandler.handle(Future.failedFuture(rh.cause())); } else { User user = rh.result().getUser(); String uuid; if (user instanceof MeshAuthUser) { uuid = ((MeshAuthUser) user).getUuid(); } else { uuid = user.principal().getString("uuid"); } JsonObject tokenData = new JsonObject().put(USERID_FIELD_NAME, uuid); resultHandler.handle(Future.succeededFuture(jwtProvider.generateToken(tokenData, new JWTOptions() .setExpiresInSeconds(Mesh.mesh().getOptions().getAuthenticationOptions().getTokenExpirationTime())))); } }); }
user.getUuid(); return user;
/** * Generates a new JWToken with the user. * * @param user * User * @return The new token */ public String generateToken(User user) { if (user instanceof MeshAuthUser) { AuthenticationOptions options = Mesh.mesh().getOptions().getAuthenticationOptions(); JsonObject tokenData = new JsonObject().put(USERID_FIELD_NAME, ((MeshAuthUser) user).getUuid()); JWTOptions jwtOptions = new JWTOptions().setAlgorithm(options.getAlgorithm()) .setExpiresInSeconds(options.getTokenExpirationTime()); return jwtProvider.generateToken(tokenData, jwtOptions); } else { log.error("Can't generate token for user of type {" + user.getClass().getName() + "}"); throw error(INTERNAL_SERVER_ERROR, "error_internal"); } }
String uuid = user.getUuid(); syncUser(batch, user, admin, userInfo); TOKEN_ID_LOG.put(uuid, currentTokenId); String uuid = user.getUuid(); String lastSeenTokenId = TOKEN_ID_LOG.getIfPresent(user.getUuid()); if (lastSeenTokenId == null || !lastSeenTokenId.equals(currentTokenId)) { com.gentics.mesh.core.data.User admin = root.findByUsername("admin");