private void setTokenCookie(String tokenType, String token, long ttl, HttpServletResponse servletResponse) { if (servletResponse == null) { throw new AppException(ErrorCode.INTERNAL_SERVER_ERROR, "HttpServletResponse is null"); } ResponseCookie tokenCookie = ResponseCookie.from(tokenType, token) .httpOnly(true) .secure(true) .path("/") .maxAge(Duration.ofSeconds(ttl)) .sameSite("None") .build(); servletResponse.addHeader("Set-Cookie", tokenCookie.toString()); }
const response = await fetch(logoutApiUrl, {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${localStorage.getItem("accessToken")}`,
},
});
private String extractTokenFromCookie(HttpServletRequest request, String cookieName) {
if (request.getCookies() == null) {
throw ExceptionUtils.appException(ErrorCode.UNAUTHORIZED, "Cannot find cookies in request header or cookie " + (cookieName.equals(TokenType.ACCESS_TOKEN) ? "access token" : "refresh token"));
}
for (Cookie cookie : request.getCookies()) {
System.out.println(cookie.getName());
if (cookieName.equals(cookie.getName())) {
return cookie.getValue();
}
}
throw ExceptionUtils.appException(ErrorCode.UNAUTHORIZED, "Cannot find cookie with name: %s", cookieName);
}
Mọi người giúp em case này với a? Em cảm ơn ạ!