From 143354cdfb9f9b7801147050835004a87c7926fd Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Fri, 21 Mar 2025 09:32:57 +0100 Subject: [PATCH] Update code in endpoints/logout.post.py --- endpoints/logout.post.py | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/endpoints/logout.post.py b/endpoints/logout.post.py index a3e0925..4b43d53 100644 --- a/endpoints/logout.post.py +++ b/endpoints/logout.post.py @@ -5,18 +5,28 @@ router = APIRouter() @router.post("/logout") async def logout_handler( - token: str = Depends(oauth2_scheme), - db: Session = Depends(get_db) + session_id: str = Depends(get_session), + user_id: str = Depends(get_current_user) ): """Demo logout endpoint""" - user = get_user_by_token(token, db) + user = fake_users_db.get(user_id) if not user: - raise HTTPException(status_code=401, detail="Invalid authentication credentials") + raise HTTPException(status_code=404, detail="User not found") - # Clear access token, refresh token and session from cookies - response = RedirectResponse(url="/") - response.delete_cookie("access_token") - response.delete_cookie("refresh_token") - response.delete_cookie("session_id") + # Clear session data + session_data = fake_sessions_db.pop(session_id, None) + if session_data: + session_data["active"] = False + session_data["logout_time"] = datetime.utcnow() - return response \ No newline at end of file + # Clear access and refresh tokens + user["access_token"] = None + user["refresh_token"] = None + + return { + "message": "Logout successful", + "user_id": user_id, + "next_steps": [ + "Clear client-side cookies/storage" + ] + } \ No newline at end of file