拦截器响应头中配置“Access-Control-Expose-Headers”实现跨域请求暴露token
问题场景:
和前端同事联调接口中,前端同事反映说在跨域请求的情况下无法获取token的值,后来找到解决办法:
- 在登录拦截器处理类中的响应对象,把token对象暴露出来即可
- 关键代码 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");
}
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2021/12/16 06:27