删除账号
const handleDelete = async function () {
const auth = getAuth();
const user = auth.currentUser;
const promises = [];
const userCollections = [
`${user.email}_data`,
`${user.email}_data/bookmarked_movies/bookmarks`,
`${user.email}_data/bookmarked_movies/bookmarks_trace`,
];
const userDocs = [`${user.email}_data/collection_list`];
userCollections.map(async (colRef) => {
const querySnapshot = await getDocs(collection(db, colRef));
querySnapshot.forEach((doc) => {
console.log(doc.data());
promises.push(deleteDoc(doc.ref));
});
});
await Promise.all(promises);
const credential = promptForCredentials();
reauthenticateWithCredential(user, credential)
.then(() => {
console.log("user is reauthenticated");
})
.catch((err) => console.error(err));
deleteUser(user).catch((err) => console.log(err));
navigate("../../");
};
我正在实现删除用户帐户功能,但我一直坚持从 auth 中删除用户。好的,所以要删除用户,您最近必须实际登录,或者如果您之前登录时间过长,则必须重新进行身份验证,他们说出于安全原因。问题是我真的不明白如何实现它?那是如何工作的?我知道
proptForCredentials()
函数应该返回一些数据并将其分配给 credential
变量,但我不明白如何实现它。有人可以给我解释一下吗?