This project is an Authentication and User Management API built with Django Rest Framework and Simple JWT.
It includes features such as user registration, login, logout, profile management, password change, password reset through email, and admin-only endpoints.
- Custom User registration
- User login & logout with JWT authentication
- View & update user profile
- Password change for authenticated users
- Password reset through email (with token validation)
- Duplicate email validation & expired token handling
- Admin endpoints for user management
| URL | Method | Description |
|---|---|---|
api/user/register/ | POST | Register a new user |
api/user/login/ | POST | User login with credentials and JWT token |
api/user/logout/ | POST | Logout and blacklist refresh token |
api/user/profile/ | GET | Get logged-in user profile |
api/user/profile/update/ | PUT | Update logged-in user profile |
api/user/changepassword/ | POST | Change user password (authenticated) |
api/user/send-reset-password-email/ | POST | Send reset password email |
api/user/reset-password/<uidb64>/<token>/ | POST | Reset password using token |
api/admin/users/ | GET | List all users (admin only) |
api/admin/users/<id>/ | GET | Retrieve specific user by ID (admin only) |
Contributions are welcome. Please fork the repository and create a new branch for your feature or bug fix. Once you have made your changes, submit a pull request and your changes will be reviewed.