Challenge Overview
We have the backend application (NodeJS) and a frontend (ReactJS) with both form and social login/registration, but there are some issues and missing features in both:
1. The backend login handling for social users is broken as it implicitly trusts any user that posts to /login/social. Check UserService.registerSocialUser for more details
We're using auth0 for handling social login so the appropriate auth flow should be integrated for both social registration and login https://auth0.com/docs/quickstarts
2. Forgot password / reset password flow should be implemented in both frontend and backend. In frontend add the UI for these features. In the backend, change the behavior to actually send the password reset links to the user's email. All the smtp parameters should be configurable. Email handling should be put into a separate module.
Branch for the backend: https://github.com/topcoderinc/dsp-server/tree/improveLogin
Branch for the frontend: https://github.com/topcoderinc/dsp-frontend/tree/improveLogin
Final Submission Guidelines
Submit a git patch for your changes to the base codeSubmit a short video demonstrating the implemented features
Submit updated deployment guide
Submit a short verification guide with screenshots (verification guide should be placed in the /verification-docs directory)