Implement authentication and chat functionality with JWT support

- Added `auth.py` for mock login and JWT issuance.
- Introduced `chat.py` for handling chat requests with role-based access control.
- Enhanced `main.py` to include new routers and middleware for tracing.
- Implemented input validation in `input_guard.py` to prevent SQL injection.
- Created repositories for managing agent sessions and audit logs.
- Added exception handling for authorization errors.
- Updated settings to include JWT configuration.
- Introduced tests for authentication and input validation.
This commit is contained in:
2026-09-07 17:20:42 +08:00
parent 5f0f86a007
commit 3995cb44d8
26 changed files with 1013 additions and 10 deletions
+13
View File
@@ -0,0 +1,13 @@
"""Wave 0:trace_id 测试。"""
def test_health_returns_trace_id(client):
resp = client.get("/health")
assert resp.status_code == 200
assert resp.headers.get("X-Trace-Id")
assert resp.json()["trace_id"]
def test_trace_id_echo(client):
resp = client.get("/health", headers={"X-Trace-Id": "trace-fixed-001"})
assert resp.headers["X-Trace-Id"] == "trace-fixed-001"