diff --git a/endpoints/logout.post.py b/endpoints/logout.post.py new file mode 100644 index 0000000..82fabce --- /dev/null +++ b/endpoints/logout.post.py @@ -0,0 +1,28 @@ +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") + + # Delete user data from cookies + response = Response() + response.delete_cookie("accesstoken") + response.delete_cookie("refreshtoken") + response.delete_cookie("userdata") + + return { + "message": "Logout successful", + "next_steps": [ + "Clear local storage", + "Redirect to login page" + ] + } \ No newline at end of file