Reactjs firebase重置密码而不发送重置密码电子邮件

Reactjs firebase reset password without sending reset password email

我正在为我的管理网站使用 firebase 身份验证。我知道如何通过发送重置密码电子邮件来重置密码。我在我的客户网站上使用该方法。但是我希望我的管理员用户在不发送重置密码的情况下重置密码,因为他们已经登录了。就像使用新密码和确认密码表单并提交以重新设置并再次登录一样。我不希望我的管理员用户发送重置密码电子邮件。

我可以知道如何在不发送重置密码电子邮件的情况下重置 firebase 身份验证吗?

可以使用firebase自带的updatePassword方法

import { getAuth, updatePassword } from "firebase/auth";

const auth = getAuth();

const user = auth.currentUser;
const newPassword = getPWFromForm();

updatePassword(user, newPassword).then(() => {
  // Update successful.
}).catch((error) => {
  // An error ocurred
  // ...
});

您将创建一个文本字段,用户可以在其中输入新密码,然后将其传递给 updatePassword 函数。

使用中的代码,您可以更新当前用户的密码。

如果您想更改其他用户的密码,您需要use the Admin SDK in a trusted environment, such as your development machine, a server you control, or Cloud Functions/Cloud Run. With that SDK, you can update any properties of any user(包括他们的密码)通过他们的 UID。