Commit de7b5ff994ac161454dcb6c28003806345553ecc

Authored by Andrew Shvayka
Committed by GitHub
2 parents 33f6d01a 3bc32270

Merge pull request #46 from thingsboard/master

Detect https protocol in case of forwarding
... ... @@ -124,9 +124,12 @@ public class AuthController extends BaseController {
124 124 HttpServletRequest request) throws ThingsboardException {
125 125 try {
126 126 UserCredentials userCredentials = userService.requestPasswordReset(email);
127   -
  127 + String scheme = request.getScheme();
  128 + if (request.getHeader("x-forwarded-proto") != null) {
  129 + scheme = request.getHeader("x-forwarded-proto");
  130 + }
128 131 String baseUrl = String.format("%s://%s:%d",
129   - request.getScheme(),
  132 + scheme,
130 133 request.getServerName(),
131 134 request.getServerPort());
132 135 String resetPasswordUrl = String.format("%s/api/noauth/resetPassword?resetToken=%s", baseUrl,
... ... @@ -172,8 +175,12 @@ public class AuthController extends BaseController {
172 175 UserCredentials credentials = userService.activateUserCredentials(activateToken, encodedPassword);
173 176 User user = userService.findUserById(credentials.getUserId());
174 177 SecurityUser securityUser = new SecurityUser(user, credentials.isEnabled());
  178 + String scheme = request.getScheme();
  179 + if (request.getHeader("x-forwarded-proto") != null) {
  180 + scheme = request.getHeader("x-forwarded-proto");
  181 + }
175 182 String baseUrl = String.format("%s://%s:%d",
176   - request.getScheme(),
  183 + scheme,
177 184 request.getServerName(),
178 185 request.getServerPort());
179 186 String loginUrl = String.format("%s/login", baseUrl);
... ... @@ -209,8 +216,12 @@ public class AuthController extends BaseController {
209 216 userCredentials = userService.saveUserCredentials(userCredentials);
210 217 User user = userService.findUserById(userCredentials.getUserId());
211 218 SecurityUser securityUser = new SecurityUser(user, userCredentials.isEnabled());
  219 + String scheme = request.getScheme();
  220 + if (request.getHeader("x-forwarded-proto") != null) {
  221 + scheme = request.getHeader("x-forwarded-proto");
  222 + }
212 223 String baseUrl = String.format("%s://%s:%d",
213   - request.getScheme(),
  224 + scheme,
214 225 request.getServerName(),
215 226 request.getServerPort());
216 227 String loginUrl = String.format("%s/login", baseUrl);
... ...
... ... @@ -77,8 +77,12 @@ public class UserController extends BaseController {
77 77 User savedUser = checkNotNull(userService.saveUser(user));
78 78 if (sendEmail) {
79 79 UserCredentials userCredentials = userService.findUserCredentialsByUserId(savedUser.getId());
  80 + String scheme = request.getScheme();
  81 + if (request.getHeader("x-forwarded-proto") != null) {
  82 + scheme = request.getHeader("x-forwarded-proto");
  83 + }
80 84 String baseUrl = String.format("%s://%s:%d",
81   - request.getScheme(),
  85 + scheme,
82 86 request.getServerName(),
83 87 request.getServerPort());
84 88 String activateUrl = String.format("%s/api/noauth/activate?activateToken=%s", baseUrl,
... ... @@ -107,8 +111,12 @@ public class UserController extends BaseController {
107 111 User user = checkNotNull(userService.findUserByEmail(email));
108 112 UserCredentials userCredentials = userService.findUserCredentialsByUserId(user.getId());
109 113 if (!userCredentials.isEnabled()) {
  114 + String scheme = request.getScheme();
  115 + if (request.getHeader("x-forwarded-proto") != null) {
  116 + scheme = request.getHeader("x-forwarded-proto");
  117 + }
110 118 String baseUrl = String.format("%s://%s:%d",
111   - request.getScheme(),
  119 + scheme,
112 120 request.getServerName(),
113 121 request.getServerPort());
114 122 String activateUrl = String.format("%s/api/noauth/activate?activateToken=%s", baseUrl,
... ...