W04 Project: Project 2 Part 2 (Authentication)
Overview
Purpose: Implement an authentication system for your project.
Learning Objectives
By the end of this assignment you will be able to do the following:
- Be sure to review the rubric in Canvas to see how you will be graded on this assignment.
- Deploy Node.js API to the web
- Incorporate authentication system with OAuth into Node.js application
- Host GET, POST, PUT and DELETE endpoints in application
- Produce API documentation that allows API testing
- Validate all data before processing API requests
- Handle errors in application
- The demonstration of OAuth and validation restricting endpoints.
- Create a 5 to 8 minute video that goes through the items in Rubrics. Upload it to YouTube. Videos longer than the alloted time will receive a zero and will be asked to resubmit.
- Submit the following links in Canvas: GitHub repo, Render site, and YouTube video.
Project Description
Finish Project 2 that you started last week. You should already have all of your routes set up with documentation, validation, error handling, and so on. Now, you will also add security using OAuth.
Please be sure to review the Week 03 Project instructions for overall project requirements.
Add Login Functionality
Add security measures to your project using OAuth as follows:
- The user should be able to create an account, log in and log out successfully, and view things that aren't available if they are not logged in.
- If you store user credentials in MongoDB, be sure to use bcrypt (or a package of your choosing) to hash passwords so no plain-text passwords are ever stored in the database.
- Be sure your Swagger documentation is accurate, including all of your security measures (and routes that have been effected by these measures).
The following video may be helpful:
Direct link: https://video.byui.edu/media/t/1_al422bex
Prepare for Submission
- Push any changes to GitHub and verify changes in Render.
- Record a brief video demonstration that shows you using the Swagger documentation successfully sending requests to each route. Also include evidence that your MongoDB cluster is being updated.
- Post this video to YouTube (public or unlisted are both fine, whatever you prefer).
- Submit the following links in Canvas (Your assignment will receive a zero if these three links are
not included)
- GitHub repo
- Render site API Contracts (it should be formatted like this: https://cse341-code-student.onrender.com//api-docs)
- YouTube video
Submission
When you have completed this assignment:
- Return to Canvas to submit.
Other Links:
- Return to: Week Overview | Course Home