Skip to content

Latest commit

 

History

History
50 lines (37 loc) · 1.21 KB

17_Generar_JWT_Node.md

File metadata and controls

50 lines (37 loc) · 1.21 KB

Generar JWT

Dentro de las variables de entorno, almacenamos una llave secreta para el JWT:

...
JWT_SECRET = 'secret'

Creamos un archivo llamado utils/handleJwt.js para las funciones relacionadas con el JWT (firma del token, y verificación del mismo):

const { sign, verify } = require('jsonwebtoken')

const JWT_SECRET = process.env.JWT_SECRET


const tokenSign = (user) => sign({ _id: user._id, role: user.role }, JWT_SECRET, { expiresIn: "2h" })

const verifyToken = async (token) => {
    try {
        return verify(token, JWT_SECRET)
    } catch (error) {
        return null
    }
}

module.exports = { tokenSign, verifyToken }

Vamos al controlador de registro en controllers/auth.js y añadimos el token a la respuesta:

...
const { tokenSign } = require('../utils/handleJwt')

const register = async (req, res) => {
    ...
    const data = {
        token: tokenSign(user),
        user
    }
    return res.send({ data })
}

Anterior Siguiente
JWT (Json Web Token) Readme Login