node.js - Firebase 功能中的白名单域
问题描述
仅应允许列入白名单的域使用 API 服务。
下面是我的代码
const domainsList = require('./domains');
const corsOptions = {
origin: function (origin, callback) {
if (domainsList.indexOf(origin) !== -1) {
callback(null, true)
} else {
callback(new Error('Not allowed by CORS'))
}
}
};
exports.sendEmail = functions.https.onRequest((req, res) => {
cors( corsOptions ,req, res, () => {
console.log("Domain Whitelisted")
});
});
我收到此错误TypeError: Cannot read property 'origin' of undefined
我在这里做错了什么?请指导我
解决方案
您可以在定义cors
变量的位置添加选项。
const cors = require('cors')({origin: function (origin, callback) {
if (domainsList.indexOf(origin) !== -1) {
callback(null, true)
} else {
callback(new Error('Not allowed by CORS'))
}
}
});
并将其从.sendEmail
功能行中删除:
cors(req, res, () => {
console.log("Domain Whitelisted")
});
推荐阅读
- c++ - 如何重用 OpenSSL 上下文以避免 BIO 及其自身的重新分配?
- javascript - React useEffect 是如何工作的?
- arrays - 你如何在持久化容器中保存新的索引位置?
- emeditor - EmEditor 无法正确打开 .XLSX
- rust - 在 rust 中使用活塞 2d 在单独的函数中渲染文本
- c++ - 在 KDevelop 中停止自动 CMake 配置
- php - 嗨,我有一个搜索代码,但是当我运行它时它显示错误
- java - Spring WebClient - 如何根据响应标头延迟重试
- r - 转向具有重复列名的宽数据框
- python - 当缺少值但散点图工作正常时,pandas DataFrame 线图不起作用