View on GitHub

Course

Open Source course materials from HackerBay University

Task 2 - Connecting to your database.

Objectives

Learning Resources

Here are the list of learning resources for this task.

Topic Resource
How NOT to store passwords Link to this resource
Authentication with PassportJS Link to this resource
JSON Web Tokens Link to this resource
PassportJS with JWT Link to this resource
Sequelize Link to this resource

Important

Please use the same Git Repo for all the tasks. Continue working on the repo that you’ve worked on for Task 1.

Tasks

Step 1: Things you’ll use.

Step 2: Create a user sign up API.

Request Type: POST
Route: /user/signup
Request Body: {email: sample@sample.com, password: "SamplePassword"}
Response Code: 200 
Response Body: {session: <token>}
Request Type: POST
Route: /user/signup
Request Body: {email: sample@sample.com, password: "SamplePassword"}
Response Code: 400 
Response Body: {error: "User already exists."}

Step 3: Login API

Request Type: POST
Route: /user/login
Request Body: {email: sample@sample.com, password: "SamplePassword"}
Response Code: 200 
Response Body: {session: <token>}
Request Type: POST
Route: /user/login
Request Body: {email: sample@sample.com, password: "WrongPassword"}
Response Code: 400 
Response Body: {error: "Invalid Password"}
Request Type: POST
Route: /user/login
Request Body: {email: invalidemail@sample.com, password: "SamplePassword"}
Response Code: 400 
Response Body: {error: "User does not exist."}

Deliverable

Push all your changes to your GitHub Repo. Please submit your GitHub Repo to your mentor as soon as you’re done, so he or she can review.