diff --git a/backend/linkpulse/routers/auth.py b/backend/linkpulse/routers/auth.py index c66f340..8ab4e61 100644 --- a/backend/linkpulse/routers/auth.py +++ b/backend/linkpulse/routers/auth.py @@ -102,14 +102,15 @@ async def login(body: LoginBody, response: Response): # Create session token = Session.generate_token() + session_duration = remember_me_session_expiry if body.remember_me else default_session_expiry session = Session.create( token=token, user=user, - expiry=utc_now() + (remember_me_session_expiry if body.remember_me else default_session_expiry), + expiry=utc_now() + session_duration, ) # Set Cookie of session token - response.set_cookie("session", token, samesite="strict") + response.set_cookie("session", token, samesite="strict", max_age=int(session_duration.total_seconds())) return {"email": user.email, "expiry": session.expiry} diff --git a/backend/linkpulse/tests/test_auth.py b/backend/linkpulse/tests/test_auth.py index fba3b15..9ca0ac8 100644 --- a/backend/linkpulse/tests/test_auth.py +++ b/backend/linkpulse/tests/test_auth.py @@ -25,6 +25,7 @@ def test_auth_login(user): response = client.post("/api/login", json=args) assert response.status_code == status.HTTP_200_OK test_expiry(response, 0.5) + assert client.cookies.get("session") is not None # Remember Me, True response = client.post("/api/login", json={**args, "remember_me": True})