You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 2+应用在IE Edge登录时遇SEC7123授权头CORS错误

嗨,这个问题我之前帮人排查过,IE Edge在CORS请求的处理上确实比Chrome/Safari更严格。你遇到的SEC7123错误,核心原因是后端服务器的CORS配置里没有把Authorization头加入到Access-Control-Allow-Headers列表中,IE对这类权限控制的校验会更较真。下面给你一步步的解决思路:

解决步骤

1. 优先调整后端CORS配置(最关键)

CORS的权限规则是后端说了算的,所以第一步必须修改后端的CORS设置,明确把Authorization添加到允许的请求头列表里。这里给几个常见后端框架的配置示例:

  • Node.js/Express(用cors包):
const cors = require('cors');
app.use(cors({
  allowedHeaders: ['Content-Type', 'Authorization'] // 务必加上Authorization
}));
  • Spring Boot:
    可以在接口上直接用注解指定:
@CrossOrigin(allowedHeaders = {"Content-Type", "Authorization"})
@PostMapping("/login")
public ResponseEntity<?> login(...) {
  // 登录逻辑
}

或者做全局CORS配置:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedHeaders("Content-Type", "Authorization");
    }
}

2. Angular前端的小确认

虽然问题根源在后端,但也可以检查下你的请求代码是否正确设置了头:
确保你在Angular的HTTP请求里正确携带了Authorization头,比如:

login(username: string, password: string) {
  const authToken = btoa(`${username}:${password}`);
  const headers = new HttpHeaders({
    'Authorization': `Basic ${authToken}`,
    'Content-Type': 'application/json'
  });
  return this.http.post('/api/login', {}, { headers });
}

3. IE Edge专属注意点

  • 如果后端之前用了Access-Control-Allow-Headers: *这种通配符写法,IE Edge是不支持的,必须明确列出所有允许的头,包括Authorization。
  • 可以用IE的F12开发者工具,查看预检请求(OPTIONS)的响应头,确认Access-Control-Allow-Headers里确实包含Authorization字段。

内容的提问来源于stack exchange,提问作者Ka Tech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:17:13