feat: implement user authentication module
- Backend (FastAPI): - External API authentication (pj-auth-api.vercel.app) - JWT token validation with Redis session storage - RBAC with department isolation - User, Role, Department models with pjctrl_ prefix - Alembic migrations with project-specific version table - Complete test coverage (13 tests) - Frontend (React + Vite): - AuthContext for state management - Login page with error handling - Protected route component - Dashboard with user info display - OpenSpec: - 7 capability specs defined - add-user-auth change archived 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
24
backend/environment.yml
Normal file
24
backend/environment.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
name: pjctrl
|
||||
channels:
|
||||
- defaults
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.11
|
||||
- pip
|
||||
- pip:
|
||||
- fastapi==0.109.0
|
||||
- uvicorn[standard]==0.27.0
|
||||
- sqlalchemy==2.0.25
|
||||
- pymysql==1.1.0
|
||||
- cryptography==42.0.0
|
||||
- alembic==1.13.1
|
||||
- redis==5.0.1
|
||||
- python-jose[cryptography]==3.3.0
|
||||
- passlib[bcrypt]==1.7.4
|
||||
- python-dotenv==1.0.0
|
||||
- httpx==0.26.0
|
||||
- pydantic==2.5.3
|
||||
- pydantic-settings==2.1.0
|
||||
- pytest==7.4.4
|
||||
- pytest-asyncio==0.23.3
|
||||
- pytest-cov==4.1.0
|
||||
Reference in New Issue
Block a user