authProvider.authenticate(credentials, authResultHanlder -> {
if (routingContext.user() != null) {
routingContext.session().destroy();
routingContext.removeCookie(SESSION_COOKIE_NAME);
routingContext.clearUser();
routingContext.reroute(routingContext.request().path()); // restart current Router. It will create new session
} else { // assign new user and // authorize(...) // routingContext.next}});
routingContext.session().destroy();
routingContext.removeCookie(WebConfig.SESSION_COOKIE_NAME);
routingContext.clearUser();
if (routingContext.vertx()!=null && routingContext.vertx().isClustered()) { // checking routingContext.vertx()!=null is necessary for unit test
routingContext.response().putHeader("Refresh", "0").end();
} else {
routingContext.reroute(routingContext.request().path()); // restart current Router. It will create new session
}
This requires a proper design between reroute and sessions.
I suggest that you open an issue in vertx web so we can work on this.