diff --git a/apps/api/src/api/auth.py b/apps/api/src/api/auth.py index 7fea660..a3bcc42 100644 --- a/apps/api/src/api/auth.py +++ b/apps/api/src/api/auth.py @@ -59,7 +59,6 @@ async def login(next: str = "/") -> RedirectResponse: async def callback( code: str, state: str, - response: Response, auth_state: str | None = Cookie(default=None), auth_next: str | None = Cookie(default="/"), session: AsyncSession = Depends(get_db_session), @@ -129,7 +128,13 @@ async def callback( cookie_secure = bool(cookie_options["secure"]) cookie_domain = str(cookie_options["domain"]) if cookie_options.get("domain") else None - response.set_cookie( + logger.info("Auth callback complete for user id=%s, redirecting to %s", user.id, auth_next) + + # Redirect to frontend with the original next path + redirect_url = f"{settings.web_base_url}{auth_next}" + redirect_response = RedirectResponse(url=redirect_url) + + redirect_response.set_cookie( "session", session_cookie, httponly=True, @@ -137,14 +142,10 @@ async def callback( secure=cookie_secure, domain=cookie_domain, ) - response.delete_cookie("auth_state", samesite="lax", domain=cookie_domain) - response.delete_cookie("auth_next", samesite="lax", domain=cookie_domain) - - logger.info("Auth callback complete for user id=%s, redirecting to %s", user.id, auth_next) + redirect_response.delete_cookie("auth_state", samesite="lax", domain=cookie_domain) + redirect_response.delete_cookie("auth_next", samesite="lax", domain=cookie_domain) - # Redirect to frontend with the original next path - redirect_url = f"{settings.web_base_url}{auth_next}" - return RedirectResponse(url=redirect_url) + return redirect_response @router.post("/logout")