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_user_from_token(token, db) if not user: raise HTTPException(status_code=401, detail="Invalid authentication credentials") # Clear access token access_tokens_db.pop(token, None) # Clear refresh token refresh_token = user.refresh_token if refresh_token: refresh_tokens_db.pop(refresh_token, None) user.refresh_token = None # Clear session data session_id = user.session_id if session_id: sessions_db.pop(session_id, None) user.session_id = None db.commit() return { "message": "Logout successful", "next_steps": [ "Redirect to login page" ] }