list-ukl83v/endpoints/logout.post.py
2025-03-21 18:22:38 +01:00

25 lines
686 B
Python

from fastapi import APIRouter, Depends, HTTPException
from core.database import fake_users_db
router = APIRouter()
@router.post("/logout")
async def logout_handler(
token: str = Depends(oauth2_scheme),
db: Session = Depends(get_db)
):
"""Demo logout endpoint"""
user = get_current_user(token, db)
if not user:
raise HTTPException(status_code=401, detail="Invalid authentication credentials")
# Invalidate token or remove user session
fake_users_db[user.username]["disabled"] = True
return {
"message": "Logout successful",
"metadata": {
"user_id": user.id,
"username": user.username
}
}