Hi there 👋
This is a secure backend application built using Spring Boot that handles user authentication with JWT and email OTP verification.
The goal of this project is to simulate how real-world applications manage secure login systems, user verification, and stateless authentication.
- 🔑 User Registration with Email Verification (OTP)
- 🔐 Secure Login using JWT Authentication
- 📩 Email Service Integration (SMTP - Gmail)
- ⏳ OTP Expiry Handling (15 minutes)
- 🔁 Resend Verification Code
- 🛡️ Protected APIs using JWT Token
- ⚡ Stateless Authentication (Spring Security)
- ☕ Java\
- 🌱 Spring Boot\
- 🔐 Spring Security\
- 🗄️ PostgreSQL (Supabase)\
- 📧 Java Mail Sender\
- 🔑 JWT (JSON Web Token)\
- 🧪 Postman (API Testing)
- 📝 User signs up with email & password\
- 📩 System sends OTP to email\
- ✅ User verifies account using OTP\
- 🔐 User logs in → receives JWT token\
- 🚀 Token is used to access secured APIs
POST /auth/signup→ Register user\POST /auth/login→ Login & get JWT\POST /auth/verify→ Verify OTP\POST /auth/resend→ Resend OTP
-
Clone the repository
git clone https://github.com/VaradM-17/authentication-verification-system -
Configure database (PostgreSQL / Supabase)
-
Add email credentials in
application.properties -
Run the application
./mvnw spring-boot:run -
Test APIs using Postman 🚀
This project demonstrates:
- Real-world authentication flow\
- Secure API design\
- JWT implementation\
- Email verification system
It's a strong backend project to showcase Spring Security + JWT skills.
Built with the intention to learn and implement production-level authentication concepts in a simple and clean way.