CSE 341: Web Services

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:

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:

  1. 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.
  2. 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.
  3. 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

  1. Push any changes to GitHub and verify changes in Render.
  2. 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.
  3. Post this video to YouTube (public or unlisted are both fine, whatever you prefer).
  4. 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:

Other Links: