The "Sign Up with GitHub" button is already present on the signup page but currently has no functionality. This issue involves integrating GitHub OAuth 2.0 into the existing React frontend and Node.js backend, enabling users to securely sign up with their GitHub accounts. The implementation should include error handling and secure data storage in the MongoDB database.
Acceptance Criteria
Use a secure OAuth 2.0 library such as react-oauth/github for the React frontend and passport-github2 for the Node.js backend to handle GitHub authentication.
Upon successful authentication, the backend should validate the GitHub access token, retrieve user details, and save them in MongoDB.
Ensure no duplicate accounts by checking for existing users with the same GitHub email or username.
Implement error handling for scenarios like failed authentication or revoked access, and provide meaningful feedback to the user.
Redirect authenticated users to the homepage or dashboard.
The "Sign Up with GitHub" button is already present on the signup page but currently has no functionality. This issue involves integrating GitHub OAuth 2.0 into the existing React frontend and Node.js backend, enabling users to securely sign up with their GitHub accounts. The implementation should include error handling and secure data storage in the MongoDB database.
Acceptance Criteria