diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ce/UserSignupCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ce/UserSignupCEImpl.java index 7e528971829..a3f63f7b88c 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ce/UserSignupCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ce/UserSignupCEImpl.java @@ -219,10 +219,21 @@ public Mono signupAndLoginFromFormData(ServerWebExchange exchange) { .flatMap(user -> signupAndLogin(user, exchange)) .then() .onErrorResume(error -> { + String path = "/user/signup"; + + String referer = exchange.getRequest().getHeaders().getFirst("referer"); + if (referer != null) { + try { + path = URI.create(referer).getPath(); + } catch (IllegalArgumentException ex) { + // This is okay, we just use the default value for `path`. + } + } + URI redirectUri; try { redirectUri = new URIBuilder() - .setPath("/") + .setPath(path) .setParameter("error", error.getMessage()) .build(); } catch (URISyntaxException e) {