当前位置: 首页 > 面试题库 >

在Firebase的云功能中启用CORS

邵鸿福
2023-03-14
问题内容

我目前正在学习如何为Firebase使用新的CloudFunctions,而我遇到的问题是我无法访问通过AJAX请求编写的函数。我收到“没有’Access-Control-Allow-Origin’错误”。这是我编写的函数的示例:

exports.test = functions.https.onRequest((request, response) => {
  response.status(500).send({test: 'Testing functions'});
})

该函数位于以下网址中:https : //us-central1-fba-
shipper-140ae.cloudfunctions.net/test

Firebase文档建议在函数内部添加CORS中间件,我已经尝试过了,但是对我不起作用:https : //firebase.google.com/docs/functions/http-
events

这是我的方法

var cors = require('cors');

exports.test = functions.https.onRequest((request, response) => {
   cors(request, response, () => {
     response.status(500).send({test: 'Testing functions'});
   })
})

我究竟做错了什么?我将不胜感激。


问题答案:

Firebase团队提供了两个示例函数来演示CORS的使用:

  • 具有日期格式的时间服务器
  • 需要身份验证的HTTPS端点

第二个示例使用与您当前使用的cors不同的方式。

另外,考虑像这样导入,如示例所示:

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


 类似资料:
  • 我已经编写了一些云函数并部署了它们,现在我正试图使用Angular应用程序来访问这些API,但我得到了这个错误 CORS策略阻止了对“ 我知道我必须在我的云功能中启用cors,但我以前从来没有这样做过,所以如果你们能告诉我怎么做,那将是很棒的?我确实检查了这个线程,但是我有点困惑,我需要在哪里初始化cors,我是否也需要安装它的依赖关系,我需要在哪里在我的云功能中启用它?这是我的云功能

  • 我是这样做的: 我做错了什么?我将非常感谢任何帮助。 更新: 道格·史蒂文森的回答有所帮助。添加({origin:true})修复了此问题,我还不得不将更改为,但我一开始完全没有看到。

  • 问题内容: 我已经编写了一些云函数并进行了部署,现在我正尝试使用Angular应用程序访问这些API,但出现此错误 从源’ http:// localhost:4200 ‘ 在’xxxxxxxxxxxxxxxxxxxxxxxx’处对X​​MLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:没有’Access- Control-Allow-Origin’标头在请

  • 问题内容: 尝试使用PayPal-node-SDK向Paypal的API请求 但我不断出错: 我尝试过的事情: 向完全不同的主机发出请求 将请求包装为 预先考虑到主机 问题是什么? 问题答案: 您需要按照付费计划进行外部API请求。 Firebase的Blaze计划(随用随付)为云功能免费分配。https://firebase.google.com/pricing/

  • 我知道这里已经有人问过这个问题,但它没有回答我的问题。我的问题是,我们怎样才能分解指数。js用于云函数,包括onWrite调用等。 我意识到您可以使用“要求”并引入外部代码。它仍然留下一些代码(例如,在Franks OCR示例中),在index.js. 理想情况下,我希望能够将整个onWrite事件触发器移动到另一个文件中。 索引中的示例。js: 如何将整个函数event watch/call移动

  • 刚刚完成Hello World谷歌云功能教程,收到以下响应头: