Move auth session signing into auth_service.login

This commit is contained in:
2026-04-17 15:33:09 +02:00
parent 33643880ed
commit 58112fb191
4 changed files with 119 additions and 71 deletions

View File

@@ -20,7 +20,6 @@ from app.dependencies import (
SettingsDep,
)
from app.models.auth import LoginRequest, LoginResponse, LogoutResponse
from app.services.auth_service import sign_session_token
from app.utils.constants import SESSION_COOKIE_NAME
log: structlog.stdlib.BoundLogger = structlog.get_logger()
@@ -59,10 +58,11 @@ async def login(
HTTPException: 401 if the password is incorrect.
"""
try:
session = await auth_service.login(
signed_token, expires_at = await auth_service.login(
db,
password=body.password,
session_duration_minutes=settings.session_duration_minutes,
session_secret=settings.session_secret,
session_repo=session_repo,
)
except ValueError as exc:
@@ -71,10 +71,6 @@ async def login(
detail=str(exc),
) from exc
signed_token = sign_session_token(
session.token,
settings.session_secret,
)
response.set_cookie(
key=SESSION_COOKIE_NAME,
value=signed_token,
@@ -83,7 +79,7 @@ async def login(
secure=settings.session_cookie_secure,
max_age=settings.session_duration_minutes * 60,
)
return LoginResponse(token=signed_token, expires_at=session.expires_at)
return LoginResponse(token=signed_token, expires_at=expires_at)
@router.post(