gpt4 book ai didi

javascript - 注销后清除 Firebase 持久性索引数据库

转载 作者:行者123 更新时间:2023-12-02 20:54:48 26 4
gpt4 key购买 nike

我正在实现身份验证以使用 firebase 使用react。

我在注销并使用其他用户凭据再次登录时遇到问题。 Firebase 保留第一个用户的访问 token 和用户信息。

我尝试手动清除 IndexedDB,但没有成功。

登录实现:

Firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
.then(() => Firebase.auth().signInWithEmailAndPassword(email, password).then((response) => {
//impl
return response;
}).catch((error) => {
throw error;
}));

注销实现:

export async function logoutFirebase() {
indexedDB.deleteDatabase('firebaseLocalStorageDb');
return Firebase.auth().signOut();
}

最佳答案

当您将身份验证持久性设置为“本地”时,您需要清除第 3 方 cookie 才能注销。

试试这个:

export function logoutFirebase() {
return Firebase.auth().signOut()
.then(() => {
deleteAllCookies();
})
.catch(error => console.error("sign out failed", error));
}

function deleteAllCookies() {
var cookies = document.cookie.split(";");

for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}

关于javascript - 注销后清除 Firebase 持久性索引数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61513252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com