Authentication Service with JWT
A standalone authentication service with JWT tokens, refresh tokens, password reset, email verification, and role management. Supports OAuth2 integration, rate limiting, and session tracking with s...
Target user
Backend developers who need a reusable auth service
Problem
Every project needs authentication, but building it from scratch each time is error-prone without a well-tested, reusable auth service.
Requirements
- JWT access and refresh token issuance
- User registration and login
- Password reset via email
- Email verification flow
- Role-based access control
Core technologies
Python, FastAPI, JWT
Completion criteria
A complete auth service with JWT, refresh tokens, password reset, email verification, and RBAC.
Optional extensions
- Add OAuth2 providers
- Implement two-factor auth
- Add session management
- Support API keys
Project phases
Phase 1: Phase 1: Core Auth
Tasks: Set up FastAPI project, Implement user registration and login, Add JWT token generation, Build password hashing
Phase 2: Phase 2: Token Management
Tasks: Implement refresh token flow, Add token blacklisting for logout, Build password reset flow, Create email verification
Phase 3: Phase 3: RBAC and Security
Tasks: Implement role management, Add role-based middleware, Implement rate limiting, Create security headers