我正在开发一个应用程序,该应用程序的部分功能是具有管理员登录,并能够重置用户的密码。
var functions = require('firebase-functions');
var admin = require("firebase-admin");
var serviceAccount = require("/removed-for-privacy.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,
}).then(() => {
const modal = document.querySelector('#modal-reset');
M.Modal.getInstance(modal).close();
resetForm.reset();
});
});
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);
console.log("Step 1.5");
});
我尝试提交重置密码表单,但什么也没发生。我看了看控制台。没有任何错误,但我确实看到了步骤1和步骤1.5。
云函数代码运行在后端服务器上,无法访问调用它的网页的DOM。这意味着你不能做document.querySelector
之类的事情。如果函数需要信息才能运行,则必须将客户端应用程序中的信息作为参数传递给函数。