mirror of
https://github.com/rommapp/romm.git
synced 2026-07-01 08:16:21 +00:00
Extra checks on logout
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user