问题场景:
和前端同事联调接口中,前端同事反映说在跨域请求的情况下无法获取token的值,后来找到解决办法
解决:
1】在登录拦截器处理类中的响应对象,把token对象暴露出来即可
2】关键代码 response.setHeader("Access-Control-Expose-Headers", "token"); 示例如下:
String newToken = JwtUtil.getToken(date, params);
if (StrUtil.isNotBlank(newToken)) {
assert newToken != null;
redisTemplate.opsForValue().set("user:" + map.get("userAccount"), newToken, millis, TimeUnit.MILLISECONDS);
response.addHeader("token", newToken);
response.setHeader("Access-Control-Expose-Headers", "token");
}
网友评论