This project is an implementation of a user registration and authentication system using Spring Boot 3.1.0 and Java 17. It provides features such as user registration, login via JWT and OAuth2 with Google, token refresh, email confirmation, password recovery, comprehensive error handling, and role-based access control.
- User Registration: Create an account with ease.
- JWT Authentication: Authenticate using JSON Web Tokens.
- OAuth2 Integration: Log in with Google via OAuth2.
- Token Refresh: Refresh authentication tokens for extended sessions.
- Email Confirmation: Receive confirmation emails upon registration.
- Password Recovery: Reset your password when needed.
- Robust Error Handling: Comprehensive error management.
- Role-Based Access Control: Manage permissions based on user roles.