【发布时间】:2021-03-24 00:24:48
【问题描述】:
我正在开发一个 Web 应用程序,该应用程序的部分功能是具有管理员登录权限并能够重置用户密码。我正在使用 Firebase 云功能。
resetForm.addEventListener('submit', (e) => {
console.log("Step 1");
e.preventDefault();
let newPass = resetForm['reset-password'].value;
const resetPasswordFunction = firebase.functions().httpsCallable('resetPassword');
resetPasswordFunction(docId,newPass).then(() => {
const modal = document.querySelector('#modal-reset');
M.Modal.getInstance(modal).close();
resetForm.reset();
})
console.log("Step 1.5");
});
.
var functions = require('firebase-functions');
var admin = require("firebase-admin");
var serviceAccount = require("./troop-30-elections-web-app-firebase-adminsdk-obsmr-6913a9dca3.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://troop-30-elections-web-app.firebaseio.com"
});
exports.resetPassword = functions.https.onCall((docId,newPass) => {
console.log("step 2");
admin.auth().updateUser(docId, {
password: newPass,
});
});
我通过填写表格对其进行了测试,但没有任何反应。我查看了控制台,没有错误,但是我看到了第 1 步和第 1.5 步。
【问题讨论】:
-
您使用服务帐户初始化
firebase-admin的任何具体原因?firebase-admin通常应该在 Cloud Functions 运行时不带任何参数的情况下进行初始化,请参阅 firebase.google.com/docs/functions/… -
哦。谢谢你。我以为你需要一个服务帐户。我读到这个:firebase.google.com/docs/admin/setup#initialize-sdk
标签: javascript firebase firebase-authentication google-cloud-functions firebase-admin