Summary
The API currently has no authentication layer. Adding JWT bearer token auth would make this a realistic production-quality service and demonstrate a key backend skill.
Acceptance criteria
Stack
python-jose or PyJWT for token signing · passlib[bcrypt] for password hashing · FastAPI Depends for route protection
Summary
The API currently has no authentication layer. Adding JWT bearer token auth would make this a realistic production-quality service and demonstrate a key backend skill.
Acceptance criteria
POST /auth/register— create a user (email + hashed password viapasslib)POST /auth/token— return a signed JWT on valid credentialsAuthorization: Bearer <token>header401 Unauthorizedwith a consistent error shapeapp/auth/(router, schemas, utils) — not mixed into task routestest_auth.pycovering register, login, and rejection casesStack
python-joseorPyJWTfor token signing ·passlib[bcrypt]for password hashing · FastAPIDependsfor route protection