From 90d482ffd1894d58c37f1bf22818beba9ad00702 Mon Sep 17 00:00:00 2001 From: TronoSfera <119615520+TronoSfera@users.noreply.github.com> Date: Mon, 19 Jan 2026 12:19:23 +0300 Subject: [PATCH] Improve login redirect handling --- server/main.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/server/main.py b/server/main.py index f2fc34f..92bd795 100644 --- a/server/main.py +++ b/server/main.py @@ -690,7 +690,18 @@ async def update_client_config( # ======== Web interface routes ========= @app.get("/login", response_class=HTMLResponse) -async def login_page(request: Request) -> Response: +async def login_page( + request: Request, + db: Session = Depends(database.get_db), +) -> Response: + raw_token = request.cookies.get("access_token") + if raw_token: + try: + current_user = await auth.get_current_user(request=request, token=None, db=db) + except HTTPException: + current_user = None + if current_user and current_user.is_admin: + return RedirectResponse(url="/clients", status_code=status.HTTP_303_SEE_OTHER) return templates.TemplateResponse( "login.html", { @@ -725,6 +736,8 @@ async def login_submit( access_token, httponly=True, samesite="lax", + path="/", + max_age=auth.ACCESS_TOKEN_EXPIRE_MINUTES * 60, ) return response