gpt4 book ai didi

javascript - Firebase 可调用函数 + CORS

转载 作者:行者123 更新时间:2023-12-04 01:08:51 25 4
gpt4 key购买 nike

我正在尝试从我的应用程序中调用可调用的云函数,但我遇到了 CORS 问题。
enter image description here

我无法启用 Cors,因为我无权访问 onCall 函数的请求和响应。这是我的功能:

exports.UserInvitation = functions.https.onCall((data, context) => {
const email = data.email


return new Promise((resolve, reject) => {
admin.auth().createUser({
email: email,
emailVerified: false,
password: password
}).then(resolve).catch((err) => {
console.error(err.code)
reject(new functions.https.HttpsError(err.code, err.message))
})
})
})

这就是我所说的:
functions.httpsCallable('UserInvitation')({ email: this.input.value }).then((data) => {
console.log('Sent invitation:', data)
})

Firebase 函数 package.json:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"bluebird": "^3.5.1",
"firebase-admin": "~5.12.0",
"firebase-functions": "^1.0.1"
},
"private": true
}

WEB SDK Firebase 版本:4.13.1

最佳答案

对于到达这里搜索firebase可调用函数cors错误的任何其他人,这是我的 list :

  • 确保已部署该功能。
  • 确保函数名称正确。我调用 recalculatY什么时候应该是 recalculateY .由于某种原因出现了cors错误。
  • 确保函数代码本身不会引发错误。 Use the emulator to help.这并没有引发 cors 错误,但仍然有助于了解。
  • 确保您的地区匹配 - 我正在使用 europe-west2 .我必须在该区域部署该功能,并使用该区域调用它。有一段时间,我假设如果函数名称正确,客户端会推断出正确的区域。事实并非如此。

  • 将可调用函数部署到特定区域:
    // This is the file in which you define your callable function.
    const functions = require('firebase-functions');
    ...
    exports.yourFunc = functions.region('europe-west2').https.onCall(async (data, context) => {
    ...
    })


    从客户端(在本例中为 vuejs Web 应用)调用特定区域中的函数:
    // In my case, this is a vuex store file, but it is safe to assume this is plain old javascript
    import firebase from 'firebase/app'
    import 'firebase/functions'
    ...
    firebase.app().functions('europe-west2').httpsCallable('yourFunc')

    注: firebase.app().function...对比 firebase.app.function...

    关于javascript - Firebase 可调用函数 + CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50278537/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com