我有springboot应用程序,其中我将JWT设置为Cookies,如下所示,它在小时后过期。在这种情况下,setHttpOnly
和setSecure
为假。
Cookie sessionCookie = new Cookie("invsessionId", token);
一切正常,无论何时调用API,我都会通过cookie标头访问令牌来检查令牌,如下所示
Cookie[] cookies = request.getCookies();
if (cookies == null || cookies.length < 1) {
throw new AuthenticationServiceException("Invalid Token");
}
Cookie sessionCookie = null;
for (Cookie cookie : cookies) {
if ((jwtConfig.getPrefix()).equals(cookie.getName())) {
sessionCookie = cookie;
break;
}
}
// TODO: move the cookie validation into a private method
if (sessionCookie == null || StringUtils.isEmpty(sessionCookie.getValue())) {
throw new AuthenticationServiceException("Invalid Token");
}
但是当我setHttpOnly
和setSecure
为true并进行API调用时,request.getCookies()
始终为null
。在这里发布之前,我进行了很多检查,无法找到解决方案。任何帮助将不胜感激。