Quindi mi piacerebbe creare alcuni percorsi in un'API che mostrerà dati diversi in base al ruolo utente, definito in MongoDB. Ecco un campionario di ciò che ho in questo momento, funziona ...Verifica dei ruoli e autenticazione con Passport.js
router.get('/test', passport.authenticate('bearer', {session: false}), function (req, res) {
if (req.user.role == "premium") {
return res.send('you can see this content');
}
else {
return res.send('you can not see this content');
}
})
Tuttavia, l'obiettivo finale è quello di presentare almeno qualcosa per l'utente, anche se non è registrato o autenticati con il giusto tipo di ruolo.
router.get('/test', passport.authenticate('bearer', {session: false}), function (req, res) {
if (req.user.role == "premium") {
return res.send('this is premium content');
}
else {
// could be hit by another role, or no user at all
return res.send([some truncated version of the premium content]);
}
})
Che Vorrei pensare che avrei capire come lavorare, ma non so come specificare lo stesso percorso, che forse potrebbe essere colpire senza intestazione di autorizzazione nella richiesta.
È possibile in Passport.js/Express?
Dovrete costruire il proprio fork in ordoer per permettere questo credo – Vinz243
Forcella il repo passaporto e aggiungere la funzionalità, è questo che vuoi dire? –
Piuttosto questo penso. Se lo stai usando. https://github.com/jaredhanson/passport-http-bearer. Le linee che dovresti dare un'occhiata sono queste https://github.com/jaredhanson/passport-http-bearer/blob/master/lib/strategy.js#L89-101 – Vinz243