<分区>
我正在使用 react native expo 和 firebase api 添加密码重置功能。</p>
首先输入的是当前密码。
第二次输入是新密码。
第三个输入是确认新密码。
要检查当前密码,我必须获取当前密码。
请帮帮我!
<分区>
我正在使用 react native expo 和 firebase api 添加密码重置功能。</p>
首先输入的是当前密码。
第二次输入是新密码。
第三个输入是确认新密码。
要检查当前密码,我必须获取当前密码。
请帮帮我!
最佳答案
您可以使用 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
}
}
更新密码需要最近一次登录,如果用户长时间登录,则需要重新验证。
关于javascript - 在 firebase 和 Expo 中重置密码时如何检查当前密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71529932/
相关文章:
javascript - Bootstrap 确认主模态后面的模态
Firebase - 检查电子邮件是否已注册的最有效方法是什么?
firebase - 在 initState() flutter 中使用异步方法
javascript - React Native - 如何在 IntroSliders 之后导航到主体
javascript - 如何在 React Native 中组件的渲染函数内调用对象内的类?
php - 将 JavaScript 对象传递给 HIDDEN 输入字段,并将其作为数组/对象捕获到服务器端