Secure SSO Login system with Google and Githun OAuth
Welcome to the Single Sign-On (SSO) System project! This project demonstrates a secure sign-in and sign-up system with social login options (GitHub and Google) using JWT authentication.
Kindly follow the following link
https://frontend-z9oo.onrender.com/Signin
Frontend (Client):
- User Interface (UI): Responsible for rendering the user interface and handling user interactions.
- Social Login (GitHub, Google): Provides options for users to log in using social authentication providers.
Backend (Server):
- API Endpoints: Offers various API endpoints for frontend communication, including user authentication and data retrieval.
- Authentication (Passport.js): Implements user authentication strategies, including OAuth for social logins.
- Database (MongoDB, Redis): Utilizes MongoDB for data storage and Redis for session management.
- Secure user authentication using JWT tokens.
- Social login options with GitHub and Google.
Frontend:
- React
- Bootstrap
- React Router DOM
Backend:
- Node.js
- Express.js
- Passport.js
Databases:
- MongoDB
- Redis(needed for Dashboard where till now used cookie)
- Get to following link for starting project locally
https://github.com/yourusername/sso_localrun
- Download the zip and extrat it
- Install dependencies for both the frontend and backend:
cd your-sso-project/frontend
npm installcd your-sso-project/backend
npm install - Set up environment variables for backend by creating a
.env
file in the backend directory and adding the required configurations as follows - Start the frontend and backend servers:
# In the frontend directory npm start
# In the backend directory npm start
- Access the application's Frontend at http://localhost:3001 in your web browser.
- Access the application's Bakend at http://localhost:5000 in your web browser.
mongoURI= your mongobd url port = 5000 gitclientID= gitcliendidvalue gitclientSecret = gitclientSecretvalue gitcallbackURL = http://localhost:5000/auth/github/callback googleclientID= googleclientIDvalue googleclientSecret = googleclientSecretvalue googlecallbackURL = http://localhost:5000/auth/google/callback JWT_SECRET= secretkeyvalue frontend_url=http://localhost:3001
- Sign in or sign up using email and password.
- Alternatively, use the provided social login options with GitHub or Google.
- Customize and expand the project as needed for your specific use case.
Contributions are welcome! Feel free to open issues or pull requests for improvements, bug fixes, or adding new features.