Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict'
- const fs = require('fs'),
- jwt = require('jsonwebtoken'),
- moment = require('moment');
- exports.createToken = (user) => {
- let payload = {
- sub: user._id,
- name: user.name,
- email: user.email,
- password: user.password,
- dateOfReg: user.dateOfReg,
- //expiresIn: moment().add(30, 'days').unix
- };
- let signOptions = {
- algorithm: 'RS256',
- expiresIn: "30d"
- };
- let privateKey = fs.readFileSync('./services/private.key', 'utf8');
- return jwt.sign(payload, privateKey, signOptions);
- }
- 'use strict'
- const jwt = require('jsonwebtoken'),
- fs = require('fs'),
- moment = require('moment');
- exports.isAuth = (req, res, next) => {
- if(!req.headers.authorization){
- return res.status(200).send({message: 'Falta cabecera de autenticación.'});
- }
- let publicKey = fs.readFileSync('./services/public.pub', 'utf8');
- let token = req.headers.authorization.replace(/['"']+/g, '');
- let verifyOptions = {
- algorithms: ['RS256'],
- expiresIn: "30d"
- };
- try{
- jwt.verify(token, publicKey, verifyOptions, (err, decoded) => {
- if(err){ return res.send({message: 'Token no verificado', err: err}); }
- req.user = decoded;
- });
- }catch(e){
- return res.send({message: 'El token no es valido'});
- }
- next();
- }
- openssl genrsa -out private.key 256
- openssl rsa -in private.key -pubout > public.pub
Add Comment
Please, Sign In to add comment