From 4e45d24fd1882679aec123c285a84835c5d7d4b3 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Thu, 22 Jun 2017 11:43:28 +0300 Subject: [PATCH 1/2] Fixed IE issue with redirect. 308 return code doesn't work. 303 does. All other browsers are verified agains 303 code as well. --- .../org/thingsboard/server/controller/AuthController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/controller/AuthController.java b/application/src/main/java/org/thingsboard/server/controller/AuthController.java index d06f2bed9d..fe29b083d6 100644 --- a/application/src/main/java/org/thingsboard/server/controller/AuthController.java +++ b/application/src/main/java/org/thingsboard/server/controller/AuthController.java @@ -107,7 +107,7 @@ public class AuthController extends BaseController { try { URI location = new URI(createPasswordURI + "?activateToken=" + activateToken); headers.setLocation(location); - responseStatus = HttpStatus.PERMANENT_REDIRECT; + responseStatus = HttpStatus.SEE_OTHER; } catch (URISyntaxException e) { log.error("Unable to create URI with address [{}]", createPasswordURI); responseStatus = HttpStatus.BAD_REQUEST; @@ -146,7 +146,7 @@ public class AuthController extends BaseController { try { URI location = new URI(resetPasswordURI + "?resetToken=" + resetToken); headers.setLocation(location); - responseStatus = HttpStatus.PERMANENT_REDIRECT; + responseStatus = HttpStatus.SEE_OTHER; } catch (URISyntaxException e) { log.error("Unable to create URI with address [{}]", resetPasswordURI); responseStatus = HttpStatus.BAD_REQUEST; From f69c31f07777dd006a40fca07d1df83de44df36a Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Thu, 22 Jun 2017 13:14:30 +0300 Subject: [PATCH 2/2] Test fixed --- .../thingsboard/server/controller/AbstractControllerTest.java | 2 +- .../org/thingsboard/server/controller/UserControllerTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java index 435f9a64f3..b85f159b21 100644 --- a/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java @@ -200,7 +200,7 @@ public abstract class AbstractControllerTest { User savedUser = doPost("/api/user", user, User.class); logout(); doGet("/api/noauth/activate?activateToken={activateToken}", TestMailService.currentActivateToken) - .andExpect(status().isPermanentRedirect()) + .andExpect(status().isSeeOther()) .andExpect(header().string(HttpHeaders.LOCATION, "/login/createPassword?activateToken=" + TestMailService.currentActivateToken)); JsonNode tokenInfo = readResponse(doPost("/api/noauth/activate", "activateToken", TestMailService.currentActivateToken, "password", password).andExpect(status().isOk()), JsonNode.class); validateAndSetJwtToken(tokenInfo, user.getEmail()); diff --git a/application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java index 4fafd617d4..d57871bba9 100644 --- a/application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java @@ -70,7 +70,7 @@ public class UserControllerTest extends AbstractControllerTest { logout(); doGet("/api/noauth/activate?activateToken={activateToken}", TestMailService.currentActivateToken) - .andExpect(status().isPermanentRedirect()) + .andExpect(status().isSeeOther()) .andExpect(header().string(HttpHeaders.LOCATION, "/login/createPassword?activateToken=" + TestMailService.currentActivateToken)); JsonNode tokenInfo = readResponse(doPost("/api/noauth/activate", "activateToken", TestMailService.currentActivateToken, "password", "testPassword").andExpect(status().isOk()), JsonNode.class); @@ -120,7 +120,7 @@ public class UserControllerTest extends AbstractControllerTest { doPost("/api/noauth/resetPasswordByEmail", "email", email) .andExpect(status().isOk()); doGet("/api/noauth/resetPassword?resetToken={resetToken}", TestMailService.currentResetPasswordToken) - .andExpect(status().isPermanentRedirect()) + .andExpect(status().isSeeOther()) .andExpect(header().string(HttpHeaders.LOCATION, "/login/resetPassword?resetToken=" + TestMailService.currentResetPasswordToken)); JsonNode tokenInfo = readResponse(doPost("/api/noauth/resetPassword", "resetToken", TestMailService.currentResetPasswordToken, "password", "testPassword2").andExpect(status().isOk()), JsonNode.class);