Autenticação e autorização em Express.js: Protegendo o acesso do usuário

Autenticação e autorização são elementos cruciais para garantir a segurança de um aplicativo da web. No Express.js ambiente, você pode efetivamente implementar autenticação de usuário e autorização de acesso para proteger recursos. Aqui está um guia sobre como fazer isso:

Autenticação de usuário

Use Authentication Middleware: Crie uma autenticação middleware para verificar se o usuário está logado.

function isAuthenticated(req, res, next) {  
  if(req.isAuthenticated()) {  
    return next();  
  }  
  res.redirect('/login');  
}  
  
app.get('/profile', isAuthenticated,(req, res) => {  
  // Access profile page when logged in  
});  

 

Autorização de acesso para proteger recursos

Autorização de uso Middleware: crie um middleware para verificar a permissão de acesso do usuário para proteger recursos.

function hasPermission(req, res, next) {  
  if(req.user.role === 'admin') {  
    return next();  
  }  
  res.status(403).send('Access denied');  
}  
  
app.get('/admin', isAuthenticated, hasPermission,(req, res) => {  
  // Access admin page with proper permission  
});  

 

Usando bibliotecas de autenticação e autorização

Uso Passport.js: Empregue a Passport.js biblioteca para simplificar a autenticação e a autorização.

const passport = require('passport');  
app.use(passport.initialize());  
  
app.post('/login', passport.authenticate('local', {  
  successRedirect: '/profile',  
  failureRedirect: '/login'  
}));  
  
app.get('/admin', isAuthenticated, hasPermission,(req, res) => {  
  // Access admin page with proper permission  
});  

 

Conclusão

Autenticação e autorização desempenham um papel crucial na proteção de um aplicativo da Web contra ameaças à segurança. Ao utilizar middleware, bibliotecas como Passport.js, e verificações de permissão, você pode garantir que os usuários possam acessar apenas recursos apropriados e seguros.