Resolved refresh endpoint issues.
Some checks failed
Build & Deploy Backend / build (push) Failing after 36s
Build & Deploy Backend / deploy (push) Has been skipped

This commit is contained in:
2025-10-10 10:54:37 +08:00
parent 9f68959a29
commit 69721ba411

View File

@@ -163,30 +163,35 @@ public class AuthController {
}
}
@PostMapping("/refresh")
public ResponseEntity<?> refreshToken(HttpServletRequest request, HttpServletResponse response) {
String token = tokenResolver.resolveToken(request);
public ResponseEntity<?> refreshToken(HttpServletRequest request, HttpServletResponse response) {
String token = tokenResolver.resolveToken(request);
if (token != null && jwtUtil.validateToken(token)) {
String username = jwtUtil.extractUsername(token);
// Generate new token with extended expiry
String newToken = jwtUtil.generateToken(...); // same params as login
if (token != null && jwtUtil.validateToken(token)) {
String username = jwtUtil.extractUsername(token);
String displayName = jwtUtil.extractDisplayName(token);
String clientIdentifier = jwtUtil.extractClientIdentifier(token);
Long userId = jwtUtil.extractUserId(token);
List<String> roles = jwtUtil.extractRoles(token);
// Set new cookie
ResponseCookie cookie = ResponseCookie.from("authToken", newToken)
.httpOnly(true)
.secure(true)
.path("/")
.sameSite("None")
.maxAge(60 * 60)
.domain(resolveCookieDomain(request))
.build();
// Generate new token with extended expiry
String newToken = jwtUtil.generateToken(username, displayName, clientIdentifier, userId, roles);
response.addHeader(HttpHeaders.SET_COOKIE, cookie.toString());
return ResponseEntity.ok(Map.of("message", "Token refreshed"));
}
// Set new cookie
ResponseCookie cookie = ResponseCookie.from("authToken", newToken)
.httpOnly(true)
.secure(true)
.path("/")
.sameSite("None")
.maxAge(60 * 60)
.domain(resolveCookieDomain(request))
.build();
return ResponseEntity.status(401).body(Map.of("error", "Invalid token"));
}
response.addHeader(HttpHeaders.SET_COOKIE, cookie.toString());
return ResponseEntity.ok(Map.of("message", "Token refreshed"));
}
return ResponseEntity.status(401).body(Map.of("error", "Invalid token"));
}
}