This project demonstrates the implementation of "Login with Google" functionality in a Spring Boot 3.3.0 application. Here's how it works:
- User Authentication: When a user tries to log in using Google, they need to enter their Google credentials to authenticate themselves.
- Authorization: After successful authentication, Google will ask the user to grant the necessary permissions for the application.
- Application Login: Once the required permissions are granted, the user is successfully logged into the application.
- Registration: If the user is logging in for the first time and is not yet registered, they will be directed to a registration form to complete their profile and get fully registered.
- This setup ensures a smooth and secure way for users to authenticate and register using their Google accounts.
Client
: The Spring Boot application acts as the client. It requests access to the user's resources (like their Google profile information) on behalf of the user.Authorization Server
: Google’s OAuth 2.0 server acts as the authorization server. It handles user authentication and gets their consent to share specific resources with the client application.Resource Server
: Google's APIs act as the resource server. After the user authorizes access, the client application can request resources from these APIs, such as the user's profile information.User
: The end-user who wants to log in to the Spring Boot application using their Google account. The user provides their Google credentials and consents to share their information with the client application.