我有多个地区的“欧洲-西部”和“欧洲-西部”的防火基地功能。onRequest函数似乎运行良好,但我的所有onCall函数都抛出了泛型CORS错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource.日志里没什么有用的。
功能示例:
export const ADMIN01AddStaffClaim = functions
.region('europe-west1')
.https.onCall((data, context) => {
if (context.auth) {
if (context.auth.token.owner !== true) {
let error = new HttpsError('permission-denied', 'You must be an app owner to add staff claims');
return { error };
} else {
const email = data.email;
return grantClaim(email, 'staff')
.then(() => {
return { result: 'Added ' + 'staff' + ' claim to ' + email };
})
.catch(err => {
console.log(err);
let error = new HttpsError(
'permission-denied',
'You must be an app owner to add staff claims'
);
return { error };
});
}
} else {
let error = new HttpsError('permission-denied', 'You must be an app owner to add staff claims');
return { error };
}
});我试过使用express的cors,但从我在文档中看到的内容来看,它不能用于可调用的函数。
编辑:对于删除角形标记并添加javascript的人来说,我的代码中几乎到处都是类型记录,这是一个来自角的问题,通过正常的浏览器请求工作。
EDIT2:错误被抛出并不是因为实际的CORS问题,而是因为我的函数太糟糕了。
发布于 2019-10-23 15:27:58
我没有正确地从我的函数中返回东西,而且在默认情况下,CORS错误似乎是浏览器提出选项请求时的第一个失败点。如果不是因为CORS错误,当我调用函数时,它将是一个实际的500内部服务器错误。
https://stackoverflow.com/questions/56891822
复制相似问题