在 Firebase 的 Cloud Functions 中启用 CORS
尝试从 AJAX 请求调用 Cloud Function 时,开发人员经常遇到“无‘访问权限’” -Control-Allow-Origin'”错误。此问题源于跨源阻止,即禁止从创建函数之外的源访问函数。
为了解决此问题,Firebase 提供了在 Cloud Functions 版本 1 和 2 中启用 CORS 的选项.
Cloud Functions v2
对于 Cloud Functions v2,CORS 可以是直接在函数定义中启用。以下代码演示了如何实现此目的:
const { onRequest } = require("firebase-functions/v2/https"); exports.sayHello = onRequest({ cors: true }, (req, res) => { res.status(200).send("Hello world!"); });
Cloud Functions v1
对于 Cloud Functions v1,Firebase 提供了演示 CORS 使用情况的示例函数。这些示例展示了使用 CORS 的替代方法。
一种方法涉及导入 CORS,如下所示:
const cors = require('cors')({origin: true});
使用此方法的函数的一般形式类似于:
exports.fn = functions.https.onRequest((req, res) => { cors(req, res, () => { // function body using req and res provided by cors }); });
通过采用这些方法,开发人员可以在 Cloud Functions 中无缝启用 CORS,从而允许从外部源访问其函数。
以上是如何在 Firebase Cloud Functions(v1 和 v2)中启用 CORS?的详细内容。更多信息请关注PHP中文网其他相关文章!