📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / Java / http

拦截器响应头中配置“Access-Control-Expose-Headers”实现跨域请求暴露token

2021-12-16 14:27 · 约 575 字 · 浏览 2,111 次http

拦截器响应头中配置“Access-Control-Expose-Headers”实现跨域请求暴露token

问题场景:

和前端同事联调接口中,前端同事反映说在跨域请求的情况下无法获取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");
}
← 返回《Java》目录书架 →