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。
我正在为我的管理网站使用 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。