Ctrl K
ComunidadGuías…

backend/songbird/core/cookies.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""Session cookie config (mirrors soap-journal). The cookie holds a random DB session token —
no signing secret needed. `secure` is config-driven (COOKIE_SECURE): False for the typical
LAN-HTTP single-unit deploy, True once TLS fronts songbird (see docs/SECURITY.md)."""

from fastapi import Response

COOKIE_NAME = "songbird_session"
COOKIE_MAX_AGE = 60 * 60 * 24 * 30  # 30 days
COOKIE_PATH = "/"


def set_session_cookie(response: Response, token: str, *, secure: bool) -> None:
    response.set_cookie(
        key=COOKIE_NAME,
        value=token,
        max_age=COOKIE_MAX_AGE,
        path=COOKIE_PATH,
        httponly=True,
        secure=secure,
        samesite="lax",
    )


def clear_session_cookie(response: Response) -> None:
    response.delete_cookie(key=COOKIE_NAME, path=COOKIE_PATH)