Firebase 可调用云函数 CORS 错误,但 allUsers 已设置为调用者

Firebase callable cloud function CORS error, but allUsers is already set as invoker

感谢您提供的任何帮助。为了节省您的时间,我会简短一点!

我有一个云函数(按照youtube官方教程完成):

exports.makeAdminUser = functions.region('europe-central2').https.onCall( (data, context) => {
   grantAdminRole( data.email )
})

我有一个调用(根据官方文档完成,来自 vuejs 应用程序):

const addAdmin = functions.httpsCallable('makeAdminUser')
addAdmin({ email: 'x@x.com'}).then( res => { console.log( res ) })

我为部署的函数设置了权限(allUsers 作为调用者,函数是 public,不需要身份验证):

我收到一个 CORS 错误,就像这样(尝试从 firebase 托管调用):

我做错了什么?

onCall 函数在 cors 方面的行为不同于 onRequest 函数,例如,您需要确保从同一区域调用它。看到这个

示例:

const addAdmin = functions('europe-west2').httpsCallable('makeAdminUser')
addAdmin({ email: 'x@x.com'}).then( res => { console.log( res ) })

如果您的函数出错,也可能会出现 cors 问题,值得检查您的本地仿真器。