Cors - Firebase 云功能中的访问控制允许来源错误

Posted

技术标签:

【中文标题】Cors - Firebase 云功能中的访问控制允许来源错误【英文标题】:Cors - Access-Control-Allow-Origin Error in firebase cloud functions 【发布时间】:2020-08-18 18:25:42 【问题描述】:

这是我得到的错误:

Access to XMLHttpRequest at has been blocked by CORS policy: Response to preflight request 
doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

这是我的云功能:

...
app.use(cors(
  origin: true,
))
app.use(express.json());
app.use(express.urlencoded(extended: false));


app.post('/submit', async (req, clientRes) => 
...


exports.app = functions.region('europe-west2').runWith(timeoutSeconds: 540, memory: '2GB').https.onRequest(app);

这是我从客户端发出的发布请求:

axios.post('/submit', body, headers: 
      // 'Access-Control-Allow-Origin': '*',
      'Content-Type': 'application/json',
    );

我尝试设置Access-Control-Allow-Origin: '*'Access-Control-Allow-Origin: mydomain.comAccess-Control-Allow-Origin: cloudFunctionDomain.net,但仍然无法正常工作。

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

根据 [1],这种导入方式似乎对许多人都有效:

const cors = require('cors')(origin: true);

如 [1] 中所述,您还可以从此处 [2] 查看代码示例。

[1]Enabling CORS in Cloud Functions for Firebase

[2]https://github.com/firebase/functions-samples/

【讨论】:

以上是关于Cors - Firebase 云功能中的访问控制允许来源错误的主要内容,如果未能解决你的问题,请参考以下文章

CORS 阻止访问资源:如何在 Firebase 云功能中修复?

Firebase 云功能中的 CORS 块

Firebase 云功能:带有 CORS 阻止的总线男孩的 POST 方法

CORS 不适用于 Firebase 云功能中的特定域

在 Firebase Cloud 功能中启用 Cors

未为 Firebase 云功能启用 Cors