Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with SSO #1

Open
24 tasks
narainkarthikv opened this issue Jul 13, 2024 · 2 comments
Open
24 tasks

Help with SSO #1

narainkarthikv opened this issue Jul 13, 2024 · 2 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@narainkarthikv
Copy link
Owner

narainkarthikv commented Jul 13, 2024

We need to integrate Single Sign-On (SSO) authentication into our backend, which is developed using Express.js and MongoDB. The goal is to allow users to authenticate using their existing credentials from various identity providers (e.g., Google, Facebook, GitHub, etc.). This will improve the user experience by simplifying the login process.

Tasks

1. Research and Select SSO Provider

  • Research various SSO providers (e.g., Auth0, Okta, OneLogin).
  • Select the most suitable SSO provider based on our project requirements.
  • Document the reasons for selecting the chosen provider.

2. Set Up the SSO Provider

  • Create an account with the selected SSO provider.
  • Configure the necessary settings in the SSO provider’s dashboard (e.g., redirect URIs, application credentials).
  • Document the setup process and configurations.

3. Integrate SSO with Express.js Backend

  • Install the necessary libraries for the selected SSO provider in the Express.js project.
  • Implement the SSO authentication flow in the backend.
    • Configure routes for login and callback.
    • Handle token verification and user information retrieval.
  • Document the integration process and code changes.

4. Update MongoDB User Schema

  • Modify the MongoDB user schema to store SSO-related information (e.g., provider ID, tokens).
  • Ensure backward compatibility with existing user data.
  • Document the schema changes.

5. Testing and Debugging

  • Test the SSO authentication flow with different identity providers.
  • Debug and resolve any issues encountered during testing.
  • Document the testing scenarios and results.

6. Update Documentation

  • Update the project documentation to include instructions for setting up and using SSO authentication.
  • Include any necessary configuration details for different environments (development, staging, production).

7. Review and Merge

  • Conduct a code review to ensure the implementation meets the project standards.
  • Merge the changes into the main branch after successful review and testing.

8. Deployment

  • Deploy the updated backend to the production environment.
  • Monitor the SSO authentication functionality for any issues post-deployment.
  • Document the deployment process and any necessary steps.

Feel free to ask me for .env key to work with backend

@narainkarthikv narainkarthikv added enhancement New feature or request help wanted Extra attention is needed labels Jul 13, 2024
@narainkarthikv narainkarthikv added the good first issue Good for newcomers label Jul 21, 2024
@redfyel
Copy link
Contributor

redfyel commented Sep 24, 2024

hello again! can i work on this? (im not really aware but I'd like to try)

@narainkarthikv
Copy link
Owner Author

hello again! can i work on this? (im not really aware but I'd like to try)

Sure! I've been working on UI these days, so I couldn't focus on SSO. If you want to give it a shot, go ahead. Read the readme.md file documentation for setting up complete project with backend. Reach me out if you've any doubts 🤝

@narainkarthikv narainkarthikv pinned this issue Sep 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants