Node.js Authentication and CRUD API with Email Verification, Image Upload and Password Reset Using JWT, Passport.js and Sendgrid.
This Branch
Email Verification
Other Branch
No Email Verification
Tutorial
Tutorial available here.
Use Postman to test.
Try accessing the user index route without token [GET]
https://mesannodejsapiwithverification.herokuapp.com/api/user
Register and Login
Create a POST request to /api/auth/register
Create a POST request to /api/auth/login
Make sure to enter a valid email address so you can receive the verification email.
https://mesannodejsapiwithverification.herokuapp.com/api/auth/register https://mesannodejsapiwithverification.herokuapp.com/api/auth/login
Update User Info and Upload Profile Image
Try updating the user information and uploading a profile image using endpoint/api/user/[your_user_id] passing the token.
https://mesannodejsapiwithverification.herokuapp.com/api/user/[user_id]
Login and Recover Password
Create a POST request to /api/auth/recover to recover your password. An email will be sent to you.
https://mesannodejsapiwithverification.herokuapp.com/api/auth/recover
Reset Password and Login with new Password
Click the link in the email to reset your password.
Reset the password then attempt to login with your old password. This should fail. Login with your new password