Skip to content

Mock-User-Auth is a mock user authentication API developed in Nodejs and Express using JWT as authenticator using the ES6 version of JavaScript.

License

Notifications You must be signed in to change notification settings

thiagoluiznunes/mock-user-auth

Repository files navigation

mock-user-auth

npm npm version Build Status Maintainability Test Coverage Issue Count

 

README.md pt-br


Mock-User-Auth is a mock user authentication API developed in Nodejs and Express using JWT as an authenticator in the ES6 version of JavaScript.

The use: It can be used to assist your front-end development. It's simple and fast, you just need to follow the steps below.

Toolkit: Node.js | Express.js | Mocha | Chai | Istanbul

Requirements

Npm

1 - Install package:

$ npm i --save mock-user-auth

2 - Create script in package.json:

 {
   "script": {
     "dev": "nodemon ./node_modules/mock-user-auth/bin/www.js"
   }
 }

3 - Start api:

$ npm run dev

Option: You can set the port after npm command:

$ npm run dev 8080

Project Installation

Obs.: The following instructions were tested on Ubuntu distribution.

1 - After 'git clone' command, run the following commands to install dependencies:

  • user@user:~/path_to_cloned_folder/$ npm install
  • Manually install the dependencies that may have not been installed by the above command.

2 - Start application

API Routes

Action Required Method URL
AUTHENTICATE USER POST /api/v1/auth
CREATE USER POST /api/v1/users
GET USER Auth GET /api/v1/users
PATCH USER Auth PATCH /api/v1/users
DELETE USER Auth DELETE /api/v1/users
DELETE ALL USERS DELETE /api/v1/users

AUTHENTICATE USER

  • REQUEST
POST /api/v1/auth
{
  "email": "[email protected]",
  "password": "user123"
}
  • RESPONSE
{
  "token": "eyJhbGciOiJI..."
}

CREATE USER

  • REQUEST
POST /api/v1/users
{
  "name": "user",
  "email": "[email protected]",
  "password": "user123"
}
  • RESPONSE
{
  "message": "User registered with success",
  "token": "eyJhbGciOiJI..."
}

GET USER BY TOKEN

  • REQUEST
GET /api/v1/users
const token = 'eyJhbGciOiJI...';
req.setRequestHeader('Authorization', token);
  • RESPONSE
{
  "id": 46643,
  "name": "user",
  "email": "[email protected]",
  "password": "user123",
  "imageUrl": "https://almsaeedstudio.com/themes/AdminLTE/dist/img/user2-160x160.jpg"
}

PATCH USER BY TOKEN

  • REQUEST
PATCH /api/v1/users
const token = 'eyJhbGciOiJI...';
req.setRequestHeader('Authorization', token);
{
  "name": "newName",
  "email": "[email protected]",
  "password": "newpassword123"
}
  • RESPONSE
{
  "message": "User updated with success"
}

DELETE USER BY TOKEN

  • REQUEST
DELETE /api/v1/users
const token = 'eyJhbGciOiJI...';
req.setRequestHeader('Authorization', token);
  • RESPONSE
{
  "message": "User deleted with success"
}

DELETE ALL USERS

  • REQUEST
DELETE /api/v1/all-users
{
  "key_admin": "keyadmin123"
}
  • RESPONSE
{
  "message": "Users deleted with success"
}

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Created By ThiagoLuizNunes 2019.