[*] Wenn ich die anderen Registerkarten nach dem Abmelden manuell aktualisiert habe, erscheinen sie immer noch protokolliert. Registerkarte
Verwendete Signout () von Next-Auth/React zum Abmeldung.
Code: Select all
const handleClose = async (type = '') => {
setAnchorEl(null);
if (type === 'logout') {
localStorage.setItem("nextauth_logout", Date.now().toString());
await signOut({ redirect: false });
}
};
< /code>
[list]
[*] Ich habe einen benutzerdefinierten Hook erstellt, um Änderungen auf einer anderen Registerkarte zu lehen. Selbst dies wurde ausgelöst. Die Sitzung wird automatisch in der Registerkarte aktualisiert, die ich verwendet habe, und der Benutzer bleibt in sich selbst als angemeldet in sich < /p>
const useMultiTabLogout = () => {
useEffect(() => {
const handleStorageChange = (event) => {
if (event.key === "nextauth_logout" && event.newValue) {
signOut();
}
};
window.addEventListener("storage", handleStorageChange);
return () => window.removeEventListener("storage", handleStorageChange);
}, []);
};