1
mariaca.pulido
10530Puntos
un año
- Descubre qué es un security token
npm i -S express dotenv jsonwebtoken body-parser
- La librería dotenv nos permite crear archivos .env con la información que no podemos publicar de nuestro proyecto
- La librería la librería jsonwebtoken nos permite firmar nuestros tokens de manera simétrica. nos permite firmar nuestros tokens de manera simétrica.
AUTH_JWT_SECRET=
tiene que ser una cadena de base 256bit
npm i -D nodemon
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
app.post('/api/auth/token', (req, res) => {
const { email, username, name } = req.body;
const token = jwt.sign({ sub: username, email, name }, config.authJwtSecret);
res.json({ acess_token: token });
});
- Des estructuramos el body de request
- creamos nuestro token usando jwt.sign el cual recibe dos parámetros
1. El payload: nuestros datos de usuario
2. El secret: nuestro sha de base 256 bit
Nuestro index.js queda así
const express = require('express');
const bodyParser = require('body-parser');
const jwt = require('jsonwebtoken');
const { config } = require('./config/index');
const app = express();
//body parser
app.use(bodyParser.json());
app.post('/api/auth/token', (req, res) => {
const { email, username, name } = req.body;
const token = jwt.sign({ sub: username, email, name }, config.authJwtSecret);
res.json({ acess_token: token });
});
app.listen(config.port, () => {
console.log(`Server running on http://localhost:${config.port}`);
});
npm run dev
Probando nuestro Token con Postman
Creamos un request y enviamos en el body la data de nuestro usuario
Si todo sale bien vamos a obtener nuestro token
Debugeando nuestro token en https://jwt.io/
Copiamos nuestro token y podemos ver su información, aunque este será invalido hasta que agregamos nuestro secret
Una vez agregamos nuestro secret el token será valido