Extra checks on logout

This commit is contained in:
Georges-Antoine Assi
2023-08-13 16:15:26 -04:00
parent cf95fa6169
commit 91e0f6edff
2 changed files with 14 additions and 2 deletions

View File

@@ -41,7 +41,11 @@ def login(request: Request):
try:
scheme, credentials = auth.split()
if scheme.lower() != "basic":
return
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Invalid authentication scheme",
headers={"WWW-Authenticate": "Basic"},
)
decoded = base64.b64decode(credentials).decode("ascii")
except (ValueError, UnicodeDecodeError, binascii.Error):
raise credentials_exception
@@ -63,7 +67,10 @@ def logout(request: Request):
# Check if session key already stored in cache
session_id = request.session.get("session_id")
if not session_id:
return
return {"message": "Already logged out"}
if not request.user.id:
return {"message": "Already logged out"}
cache.delete(f"romm:{session_id}")
request.session["session_id"] = None

View File

@@ -22,6 +22,10 @@ function login() {
}
);
}
function logout() {
axios.post("/api/logout");
}
</script>
<template>
@@ -42,6 +46,7 @@ function login() {
<v-spacer />
<v-col cols="12" xs="12" sm="10" md="10" lg="10">
<v-btn @click="login">Login</v-btn>
<v-btn @click="logout" class="ml-2">Logout</v-btn>
</v-col>
<v-spacer />
</v-row>