Update code in endpoints/logout.post.py

This commit is contained in:
Backend IM Bot 2025-03-21 09:50:30 +01:00
parent 459efdc891
commit 25d293ce15

View File

@ -1,27 +1,45 @@
from fastapi import APIRouter, Depends, HTTPException from fastapi import APIRouter, Depends, HTTPException
from core.database import fake_users_db from core.database import fake_users_db
import uuid from fastapi.responses import JSONResponse
from core.auth import authenticate_user, create_access_token, create_refresh_token
from datetime import timedelta
router = APIRouter() router = APIRouter()
@router.post("/logout") @router.post("/login")
async def logout_handler( async def login_handler(
username: str, username: str,
db: Session = Depends(get_db), password: str,
token: str = Depends(oauth2_scheme) response: JSONResponse
): ):
"""Demo logout endpoint""" """Demo login endpoint"""
user = fake_users_db.get(username) user = fake_users_db.get(username)
if not user: if not user or user["password"] != password:
raise HTTPException(status_code=404, detail="User not found") raise HTTPException(status_code=400, detail="Invalid credentials")
# Invalidate token or clear session data access_token = create_access_token(user["id"])
refresh_token = create_refresh_token(user["id"])
return { response.set_cookie(
"message": "Logout successful", key="access_token",
"username": username, value=access_token,
"next_steps": [ httponly=True,
"Session cleared", max_age=1800,
"Access revoked" expires=1800
] )
} response.set_cookie(
key="refresh_token",
value=refresh_token,
httponly=True,
max_age=604800,
expires=604800
)
response.set_cookie(
key="session_id",
value=user["id"],
httponly=True,
max_age=604800,
expires=604800
)
return {"message": "Login successful"}