Added Google OAuth Login and Registration for Users #55
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Rationale for this change
This change adds Google OAuth authentication to the SaralSeva platform, allowing users to log in and register with their Google accounts. It improves the user experience with a quick, secure option while keeping existing methods (email/password and mobile OTP) intact.
This feature applies only to the User module.
Google login is not enabled for Admin or Employee, as those roles involve sensitive actions (status changes, schema approvals, grievance handling) that require stricter authentication.
What changes are included in this PR?
Backend
google-auth-libraryfor verifying Google ID tokens.userModel:googleIdandproviderfields.userControllermethods:userRoutesto include new endpoints.Frontend
@react-oauth/google.GoogleOAuthProviderinmain.jsxand integrated route inapp.jsx.Environment / Setup
Updated README.mdto include the new setup instructions..env:/user/.env:http://localhost:5173(development)https://your-production-domain.com(production)Are these changes tested?
Are there any user-facing changes?
googleLoginandcompleteGoogleRegistration.GOOGLE_CLIENT_IDfor backend andVITE_GOOGLE_CLIENT_IDfor frontend) to their.envfiles as part of setup.Before
After