NodeJS Firebase从firebase函数更新用户数据

dced5bon  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(111)

我试图更新用户数据使用firebase功能,它的工作正常时,更新用户显示名称。我这里的问题是下面的功能没有通过firebase功能更新用户密码。

exports.updateUserPassword = functions.https.onCall(async (data, context) => {
    try {
        return await authAppAdmin.auth().getUserByEmail(data.email)
            .then((userPassUpdate) => {
                console.log(userPassUpdate.uid);
                return authAppAdmin.auth().updateUser(userPassUpdate.uid,
                    {
                        password: data.newPassword,
                        displayName: data.displayName
                    });
            })
            .catch((error) => console.log(error["message"]));
    } catch (error) {
        return error;
    }
});

字符串
提前感谢。

mec1mxoz

mec1mxoz1#

你能试试下面的代码吗?我怀疑这能否解决你的问题,但我认为我们应该给予。如果你仍然遇到同样的问题,我会删除这个答案。
复制前三行并使用admin.auth()...非常重要。此外,此代码通常应正确记录任何错误。

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp();

exports.updateUserPassword = functions.https.onCall(async (data, context) => {
    try {
        const userPassUpdate = await admin.auth().getUserByEmail(data.email)
        console.log(data.newPassword);
        console.log(userPassUpdate.uid);
        await admin.auth().updateUser(
            userPassUpdate.uid,
            {
                password: data.newPassword,
                displayName: data.displayName
            });
        return { result: "OK" }
    } catch (error) {
        console.log(error);
        throw new functions.https.HttpsError('internal', JSON.stringify(error)); // See https://firebase.google.com/docs/functions/callable#handle_errors
    }
});

字符串

相关问题