Académique Documents
Professionnel Documents
Culture Documents
br
Node.js e
MongoDB
CRONOGRAMA
JSON Web Token
Autenticação
Autorização
JSON Web
Token
JSON Web Token
Introdução
Estrutura
dotenv-safe
api-gateway
require("dotenv-safe").load();
var jwt = require('jsonwebtoken');
Autenticação
api-gateway
app.post('/login', (req, res, next) => {
if(req.body.user === 'luiz' && req.body.pwd === '123'){
//auth ok
const id = 1; //esse id viria do banco de dados
var token = jwt.sign({ id }, process.env.SECRET, {
expiresIn: 300 // expires in 5min
});
res.status(500).send('Login inválido!');
})
Autenticação
api-gateway
app.get('/logout', function(req, res) {
res.status(200).send({ auth: false, token: null });
});
Autorização
Autorização
api-gateway
function verifyJWT(req, res, next){
var token = req.headers['x-access-token'];
if (!token)
return res.status(401).send({ auth: false, message:
'No token provided.' });
req.userId = decoded.id;
next();
});
}
Autorização
api-gateway
// Proxy request
app.get('/users', verifyJWT, (req, res, next) => {
userServiceProxy(req, res, next);
})