Commit de7b5ff994ac161454dcb6c28003806345553ecc
Committed by
GitHub
Merge pull request #46 from thingsboard/master
Detect https protocol in case of forwarding
Showing
2 changed files
with
25 additions
and
6 deletions
... | ... | @@ -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, | ... | ... |