问题描述
问题是,当我收到/authenticate
请求时,我生成JWT token
,将其设置为HttpOnly
,然后将cookie添加到HttpServletResponse
要访问检查Cookie以确定用户是否应查看结果的其他端点,这些Cookie在HttpservletRequest
中为空。主要问题是,当我在邮递员中执行相同操作时,一切正常。
此处提供API代码:
/authenticate
代码段:
final String jwt = jwtUtilService.generatetoken(userDetails);
Cookie cookie = new Cookie("token","Bearer-" + jwt);
cookie.setPath("/");
cookie.setHttpOnly(true);
res.addCookie(cookie);
return ResponseEntity.ok(new AuthenticationResponse("success"));
dofilter链:
String jwtToken = null;
Cookie[] cookies = request.getCookies();
if (cookies != null && cookies.length > 0){
for (Cookie cookie : cookies){
if (cookie.getName().equals("token")){
jwtToken = cookie.getValue();
break;
}
}
}
在这里,当我通过null
发送请求时,cookies是Angular
。
这是图像示例:
在/hello
之后请求邮递员/authenticate
的Cookie:
在/hello
上有Angular请求(从Angular发送)后,/authenticate
上的Cookie:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)