I am a front end developer and I need a simple node app (no css) that handles authentication for me. This will be used as a starter app for my new projects. See the [url removed, login to view] attached for dependencies I want to use. Here are the requirements:
/login ([url removed, login to view] strategies for Google, Twitter, Facebook and local. I will provide Client ID's and Client Secrets for each)
/signup ([url removed, login to view] strategies for Google, Twitter, Facebook and local. I will provide Client ID's and Client Secrets for each)
/index (Show "Hello Username" if logged in or show login and sign up links)
/forgot-password (for local strategy only. Checks that email address exists and if so, adds reset code to user table and sends a 1 time code to reset password)
/reset-password/[resetCode] (allows user to enter email along with new password and confirm password. Will reset password if code is valid and set code value back to null in the db)
userId: Start these at 100 and auto increment.
first: first name (can be null)
last: last name (can be null)
country: can be null
hash: For social strategies only (null if local strategy). Hash of the social platforms userid and stratgey name. This will give us something unique to query on when there is a social login.
email: required if local strategy but store it anyway if the social platform provides it (some don't).
password: Bcrypt hash of the password. For local strategy only (null if social strategy).
strategy (enum): Google, Facebook, Twitter or Local
dateSubscribed: date of sign up
loginCount: increment for each login.
resetCode: store reset code when user needs to reset password
confirmCode: store confirm email code when signup happens with local strategy. Send email to verify their email address after signup and when they click the link, set this back to null
dateConfirmed: date email address was confirmed.
19 freelancers are bidding on average $223 for this job
Hi, I did some projects based on express.js. I will share a some code from my one projects. Just check my works and feedbacks. I hope you'll be convinced. I am waiting for your response, Ashek.
Been doing nodejs stuff for more than 2.5 years. Very well acquainted with MEAN, Passport, etc. But would suggest you to not use RethinkDB (They are shutting down so things might go unsupported in near future)