JWT

1. install –save jsonwebtoken
2. import {sign} from ‘jsonwebtoken’
3. login ()=> {
const user = await User.findOne(email:email);

const valid = await bcrypt.compare(password, user.password)

const refreshToken = sign({userId: user.id, count: user.count}, “asjkd”, {expiersIn: “7d”});
const accessToken = sign({userId: user.id}, “asjkd”, {expiersIn: “15min”});

res.cookie(“refresh-token”, refreshToken, { expires: 60*60*24*7 });
res.cookie(“access-token”, accessToken, { expires: 60*15 });

return user;
}
4. Make sure GraphQL settings : “request.credentials: ‘include'”
5. Add middleware in index.js for alter the request header
6. Install –save cookie-parser
7. Import * as cookieParser from ‘cookie-parser’, in index.js file
8. add this cookieparser middleware before the request handler : app.use(cookieParser())
9. get the access-token from cookies . { const accessToken = req.cookies[“access-token”]; console.log(req.cookies) }
10. Verify the access-token
11. if verification is success , then attach the verified userId in request header
12. on the api call verify either the request have the userId or not

13. Get refresh-token from cookies

encryption/decryption : cryptr – https://www.npmjs.com/package/cryptr

more advanced – crypto -https://nodejs.org/api/crypto.html
https://stackoverflow.com/questions/56017239/encrypt-and-decrypt-in-bcryptjs

Passwords encryption/decryption : bcrypt – https://www.npmjs.com/package/bcrypt
https://stackoverflow.com/questions/14871992/encrypt-decrypt-passwords-with-node-js

var EventEmitter = require(‘events’).EventEmitter;

var logger = new EventEmitter();

logger.on(‘error’, function(message) {
console.log(‘Error : ‘ + message)
})

logger.emit(‘error’, ‘Spilled Milk’)
logger.emit(‘error’, ‘Eggs Cracked’)

http.createServer(function(request, response) {…..})

var server = http.createServer(); //Classs.http.Server (this is an EventEmitter) with the following events ex..’request’
server.on(‘request’, function(request, response) {…..}) //emitted each time there is a request

server.on(‘close’, function(){….}) //Emitted when the server closes

npm i ndb –global
npm i ndb –save-dev
“debug”: “ndb index.js” // “debug”: “ndb –exec babel-node index.js”
npm run debug

Leave a Reply

Your email address will not be published. Required fields are marked *