An open API service indexing awesome lists of open source software.

https://github.com/sunilpie1997/Auth-Using-Jwt-Nodejs-Mongo

built using nodejs,express and mongodb cloud
https://github.com/sunilpie1997/Auth-Using-Jwt-Nodejs-Mongo

async-await asynchronous bcrypt error-handling jsonwebtoken mongodb-cloud nodejs rest-api

Last synced: about 2 months ago
JSON representation

built using nodejs,express and mongodb cloud

Awesome Lists containing this project

README

        

***********Project description *************

https://github.com/sunilpie1997/authenticate_using_jwt_nodejs.git

*check steps.txt to get started with this*

This project shows how to safely store password and at the same time authenticate users
using json web token.

Benefit:a) no repeated database lookups for authenticating users in multiple requests
except for the first time

b)no need to maintain session on server(nodejs).

Note:the backend nodejs server uses MONGODB CLOUD.
So,make sure to create your account on mongodb cloud and get connection uri,
after clicking 'connect' tab.

Note:private_key is generated using 'puttygen' tool.
You can create yours.

Benifit:json web token are created after signing with this key.
so,that only those requests succeed that contain tokens
in 'Authorization' header and ****ARE SIGNED BY THIS 'private_key'****

Note:'essentials' folder contain 2 files:

a) db_properties->connection uri for mongodb cloud.ENTER CORRECT PASSWORD AND DATABASE_NAME after creating user on MONGODB CLOUD.

b)auth-user->contains middleware 'authenticateToken' function to verify token and extract username
and execute database search for that username.

ex: router.get('/',authenticateToken,async (req,resp)=>{.......});

Note:I have used 'bcrypt' module to hash password before storing user details in DATABASE.

and used 'bcrypt.compare' function to compare password entered by user with above 'hashed password'
for authentication.