感谢您提供的任何帮助。为了节省您的时间,我会很简短!
我有一个云功能(按照官方youtube教程完成):
exports.makeAdminUser = functions.region('europe-central2').https.onCall( (data, context) => {
grantAdminRole( data.email )
})
我有一个调用(按照官方文档,从 vuejs 应用程序完成):
const addAdmin = functions.httpsCallable('makeAdminUser')
addAdmin({ email: '[email protected]'}).then( res => { console.log( res ) })
我为已部署的函数设置了权限(allUsers 作为调用者,该函数是公共的,不需要身份验证):
我收到 CORS 错误,如下所示(尝试从 firebase 托管调用):
我做错了什么?
onCall 函数在 cors 方面的行为与 onRequest 函数不同,例如,您需要确保从同一区域调用它。请参阅此帖子
示例:
const addAdmin = functions('europe-west2').httpsCallable('makeAdminUser')
addAdmin({ email: '[email protected]'}).then( res => { console.log( res ) })
如果您的函数出错,也可能会出现 cors 问题,值得在本地模拟器中检查。