fix: logout bug
This commit is contained in:
parent
d3f5c3cb82
commit
7bf35b65fb
@ -111,7 +111,7 @@ async def get_current_user(security_scopes: SecurityScopes, request: Request):
|
||||
except ExpiredSignatureError:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Token expired",
|
||||
detail="Access token expired",
|
||||
headers={"WWW-Authenticate": authenticate_value},
|
||||
)
|
||||
except (InvalidTokenError, ValidationError):
|
||||
@ -164,7 +164,7 @@ async def login_for_access_token(
|
||||
|
||||
async def logout(response: Response):
|
||||
response.set_cookie("access_token", "", expires=0, httponly=True, samesite="strict")
|
||||
return
|
||||
return {"message": "Successfully logged out"}
|
||||
|
||||
|
||||
async def read_users_me(
|
||||
|
@ -1,6 +1,5 @@
|
||||
import { MouseEventHandler, useEffect, useState } from "react";
|
||||
import { useSession } from "./Session";
|
||||
import { logout } from "./api";
|
||||
|
||||
interface ContextMenuItem {
|
||||
label: string;
|
||||
@ -18,7 +17,7 @@ export default function Avatar() {
|
||||
const contextMenuItems: ContextMenuItem[] = [
|
||||
{ label: "View Profile", onClick: () => console.log("View Profile") },
|
||||
{ label: "Edit Profile", onClick: () => console.log("Edit Profile") },
|
||||
{ label: "Logout", onClick: onLogout },
|
||||
{ label: "Logout", onClick: () => onLogout() },
|
||||
];
|
||||
|
||||
const handleMenuClick: MouseEventHandler<HTMLDivElement> = (event) => {
|
||||
|
@ -1,10 +1,13 @@
|
||||
import { useLocation } from "react-router";
|
||||
import { Link } from "react-router";
|
||||
import { useSession } from "./Session";
|
||||
|
||||
export default function Footer() {
|
||||
const location = useLocation();
|
||||
const { user } = useSession();
|
||||
return (
|
||||
<footer className={location.pathname === "/network" ? "fixed-footer" : ""}>
|
||||
{user?.scopes.split(" ").includes("analysis") && (
|
||||
<div className="navbar">
|
||||
<Link to="/">
|
||||
<span>Form</span>
|
||||
@ -18,6 +21,7 @@ export default function Footer() {
|
||||
<span>MVP</span>
|
||||
</Link>
|
||||
</div>
|
||||
)}
|
||||
<p className="grey extra-margin">
|
||||
something not working?
|
||||
<br />
|
||||
|
@ -59,11 +59,9 @@ export function SessionProvider(props: SessionProviderProps) {
|
||||
setUser(null);
|
||||
setErr({ message: "Logged out successfully" });
|
||||
console.log("logged out.");
|
||||
setLoading(true); // Set loading to true
|
||||
loadUser();
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
setErr(e); // Update the error state if logout fails
|
||||
setErr(e);
|
||||
}
|
||||
}
|
||||
console.log("sanity", user);
|
||||
@ -77,12 +75,7 @@ export function SessionProvider(props: SessionProviderProps) {
|
||||
</>
|
||||
);
|
||||
else if (err) {
|
||||
if ((err as any).message === "Logged out successfully") {
|
||||
setTimeout(() => setErr(null), 1000);
|
||||
content = <Login onLogin={onLogin} />;
|
||||
} else {
|
||||
content = <Login onLogin={onLogin} />;
|
||||
}
|
||||
} else
|
||||
content = (
|
||||
<sessionContext.Provider value={{ user, onLogout }}>
|
||||
|
@ -34,6 +34,7 @@ export type User = {
|
||||
full_name: string;
|
||||
email: string;
|
||||
player_id: number;
|
||||
scopes: string;
|
||||
};
|
||||
|
||||
export async function currentUser(): Promise<User> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user