我正在使用react native expo和firebase api添加密码重置功能.
第一个输入是当前密码.
第二个输入是新密码.
第三个输入是确认新密码.
要判断当前密码,我必须获取当前密码.
请帮帮我!
我正在使用react native expo和firebase api添加密码重置功能.
第一个输入是当前密码.
第二个输入是新密码.
第三个输入是确认新密码.
要判断当前密码,我必须获取当前密码.
请帮帮我!
您可以使用reauthenticateWithCredential()
验证用户密码,然后使用updatePassword()
更新密码:
import { getAuth, reauthenticateWithCredential, EmailAuthProvider } from "firebase/auth";
const auth = getAuth();
const resetUserPassword = async () => {
const user = auth.currentUser;
const cred = EmailAuthProvider.credential(user.email, "[USER_PASSWORD]");
try {
await reauthenticateWithCredential(user, cred)
// User entered correct credentials
// Update password
await updatePassword(auth.currentUser, "[NEW_PASSWORD]");
} catch (e) {
console.log(e.code, e.message)
// Could be incorrect credentials
}
}
更新密码需要最近登录,如果用户长时间登录,则需要重新身份验证.