我创建的函数在本地使用firebase命令可以很好地工作。当我将它部署到firebase函数时,它开始抛出错误:
“CORS策略阻止从'https://us-central1-mysample.cloudfunctions.net/api/configSettings‘处访问https://us-central1-mysample.cloudfunctions.net/api/configSettings 'https://mysample.web.app’:请求的资源上不存在‘访问控制-允许-原产地’标题”
以下是有关该项目的要点&代码:
const cors = require('cors')
var corsOptionsDelegate = function (req, callback) {
console.log("req.header('Origin') : ", req.header('Origin'))
var corsOptions;
if (whitelist.indexOf(req.header('Origin')) !== -1) {
corsOptions = { origin: true } // reflect (enable) the requested origin in the CORS
response
} else {
corsOptions = { origin: false } // disable CORS for this request
}
callback(null, corsOptions) // callback expects two parameters: error and options
}
app.options('*', cors(corsOptionsDelegate));
app.use((req, res, next) => {
const allowedOrigins = ['https://mysample.web.app', 'https://mysample.firebase.webapp'];
const origin = req.headers.origin;
console.log("origin : ", origin)
if (allowedOrigins.includes(origin)) {
res.setHeader('Access-Control-Allow-Origin', origin);
}
res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
res.setHeader('Access-Control-Allow-Credentials', true);
return next();
});
但没有办法解决我的问题。我必须在Firebase门户中设置什么设置吗?任何帮助。
https://stackoverflow.com/questions/73814430
复制相似问题