javascript - 如何创建 Firebase 云功能来重置用户密码
问题描述
我正在开发一个应用程序,该应用程序的部分功能是具有管理员登录名并能够重置用户密码。
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 步。
解决方案
Cloud Functions 代码在后端服务器上运行,无法访问调用它的网页的 DOM。这意味着你不能做类似的事情document.querySelector
。如果函数需要信息才能运行,您必须将该信息从客户端应用程序作为参数传递给函数。
推荐阅读
- sql-server - 想要在 SQL Server 检查约束中添加正则表达式以仅输入字符而不是任何数字甚至不包括任何数字字符
- android - 我如何从任何健康乐队获取卡路里数据?
- c++ - 在循环条件下处理 size_t 下溢的成语
- gremlin - 有没有办法在 asyncio Python 应用程序中使用 Gremlin?
- user-interface - 如何在代号1的UI界面下面设计这个
- database - 将服装数据库与 WP 数据库合并
- batch-file - 在目录中搜索文件列表时无法将值动态存储在批处理文件中
- javascript - 如何根据用户选择在 ASP.NET Core MVC 的不同下拉菜单中填充下拉菜单?
- react-native - 如何在 jhipster 中自定义 react-navigation 而不是 react-native-navigation?
- r - 在 R 中调整 plotmo::plot_glmnet 的顶轴标题和标签图