Kairo-Jinkendo/backend/routers/auth.py
Lars 564008be13
Some checks failed
Deploy Development / deploy (push) Successful in 38s
Test Suite / pytest-backend (push) Failing after 7s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
AP0.2: Auth, Tenant, Actor Foundation mit Sessions, TenantContext und Tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 20:09:54 +02:00

28 lines
680 B
Python

"""Auth endpoints: login, logout."""
from __future__ import annotations
from auth import login, logout, require_auth
from fastapi import APIRouter, Depends, Response
from pydantic import BaseModel, EmailStr, Field
router = APIRouter(prefix="/api/auth", tags=["auth"])
class LoginRequest(BaseModel):
email: EmailStr
password: str = Field(min_length=8, max_length=256)
@router.post("/login")
def auth_login(body: LoginRequest):
return login(body.email, body.password)
@router.post("/logout")
def auth_logout(response: Response, session: dict = Depends(require_auth)):
token = session.get("token")
if token:
logout(token)
return {"ok": True}