- MSAL.js (PKCE) browser-side auth against Azure Entra ID - Bearer token interceptor on all API calls - Backend JWT validation middleware (python-jose + JWKS) - All API routes protected; /api/health stays public - vite base set to /gsb/, BrowserRouter basename=/gsb - docker-compose: remove frontend service, lock backend to 127.0.0.1:8002, remove dev volumes - backend: 2 workers, no --reload Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
335 B
Text
16 lines
335 B
Text
fastapi[standard]==0.115.6
|
|
uvicorn[standard]==0.34.0
|
|
sqlalchemy[asyncio]==2.0.36
|
|
alembic==1.14.1
|
|
asyncpg==0.30.0
|
|
psycopg2-binary==2.9.10
|
|
openpyxl==3.1.5
|
|
python-docx==1.1.2
|
|
python-multipart==0.0.19
|
|
anthropic==0.43.0
|
|
reportlab==4.2.5
|
|
pandas==2.2.3
|
|
pydantic==2.10.4
|
|
pydantic-settings==2.7.1
|
|
python-jose[cryptography]==3.3.0
|
|
httpx==0.28.1
|