AuthApp is a simple and secure authentication system built with modern web technologies.
- User registration and authentication
- Password hashing and verification
- Password reset
- Session management
- Email OTP verification
- JSON Web Token (JWT) authentication
- RESTful API design
- OAuth 2.0 with Google
To install and run AuthApp, follow these steps:
git clone https://github.com/Afeh/authapp.git- Install Python 3.12.2
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.12.2- Install Python 3.12-venv
sudo apt install python3.12-venv- Create Virtual Environment
cd authapp
python3.12 -m venv venv- Activate Virtual Environment
source venv/bin/activate- Install Requirements
pip install -r requirements.txt- Run Migrations
python manage.py migrate- Create Superuser
python manage.py createsuperuser- Run Server
python manage.py runserver- Note: You would have to make your own Email Server settings in settings.py
| Endpoint | Method | Description |
|---|---|---|
| /api/v1/auth/register/ | POST | Register a new user |
| /api/v1/auth/verify-email/ | POST | Verify user email |
| /api/v1/auth/login/ | POST | Login a user |
| /api/v1/auth/password-reset/ | POST | Reset a user's password |
| /api/v1/auth/password-reset-confirm/// | GET | Confirms a password request |
| /api/v1/auth/set-new-password/ | PATCH | Resets user password |
| /api/v1/auth/profile/ | GET | Tests user authentication |
- Check through postman collections for more information on the API endpoints
- Python
- Django
- REST Framework
- JSON Web Token
- OAuth 2.0