如何从本地主机调用 firebase 可调用函数?

Tou*_*uha 7 javascript firebase vue.js google-cloud-functions

我收到此错误:

在此输入图像描述

每当调用此云函数时:

      const makeAdmin = firebase.functions().httpsCallable("makeAdmin");
      makeAdmin({
        make: "admin"
      })
        .then(response => {
          console.log(response);
        })
        .catch(err => console.error(err));
Run Code Online (Sandbox Code Playgroud)

函数是:

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();
const db = admin.firestore();
const auth = admin.auth();

exports.makeAdmin = functions.https.onCall(async (data, context) => {
  try {
    const email = context.auth.token.email || null;
    const user = await auth.getUserByEmail(email);
    await auth.setCustomUserClaims(user.uid, {
      admin: true
    });
    return {
      message: "admin added successfully"
    };
  } catch (error) {
    return error;
  }
});
Run Code Online (Sandbox Code Playgroud)

我尝试使用 cors 模块但没有成功。

Pet*_*dad 1

您需要启用cors, 才能执行该请求:

首先安装包:

npm install cors
Run Code Online (Sandbox Code Playgroud)

然后导入它:

const cors = require('cors')({origin: true});
Run Code Online (Sandbox Code Playgroud)