mirror of
https://github.com/Xevion/linkpulse.git
synced 2025-12-06 09:15:32 -06:00
Add proper cookie expiry time to Login route
This commit is contained in:
@@ -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}
|
||||
|
||||
|
||||
|
||||
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user