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

如何解决Node.js中“No 'Access-Control-Allow-Origin'”CORS报错

问题根因

你遇到的CORS报错和后端配置的CORS策略完全无关。错误提示已经明确说明,缺少Access-Control-Allow-Origin头的资源是Facebook的OAuth授权页,不是你的后端接口。
OAuth2.0的授权码流程本身就不允许用AJAX/axios这类XMLHttpRequest的方式发起授权请求,Facebook的授权页面本身就没有配置允许第三方站点跨域访问的响应头。

修复方案
  • 修改后端接口请求方式
    把/getAccessCode接口的请求方式从POST改成GET,获取授权页的请求本身就应该用GET方式。
// 后端代码修改
router.route('/getAccessCode').get((request, response)=> {
  // 原有拼接参数、重定向逻辑保持不变
})
  • 修改前端调用方式
    不要用axios发送请求,直接让浏览器跳转或者新开窗口访问这个后端接口地址即可,页面导航行为不受CORS规则限制:
// 前端代码替换原有axios.post逻辑
// 方式1:当前页面跳转
window.location.href = 'http://localhost:8000/getAccessCode'
// 方式2:弹窗打开(适配你配置的display=popup参数)
window.open('http://localhost:8000/getAccessCode', 'fbAuth', 'width=600,height=600')
  • 补充验证点
    确认你Facebook开发者后台的OAuth配置里,已经把http://localhost:3000加入了合法重定向URI列表,否则后续授权完成后回调会失败。

内容的提问来源于stack exchange,提问作者SA Master

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:15:02