Sto utilizzando Express 4 dove ho un percorso protetto da passport.js, in questo modo:Qual è un modo migliore per autenticare alcuni percorsi su Express 4 Router?
var media = require('express').Router();
media.get('/', function(req, res) {
// provide results from db
});
media.post('/', passport.authenticate('bearer'), function(req, res) {
// This route is auth protected
});
Così - vengono percorsi di raccolta devono (per lo più) non essere protetti per me, e creare percorsi/aggiornamento dovrebbe . Ma questo mi obbliga a passare il passaporto a tutti i miei file di percorso (ne ho 7 fino ad ora), quindi ad aggiungerlo come un middleware ad alcuni di essi.
mi piace la versione in cui si può fare qualcosa di simile:
var router = require('./my-router');
app.use('/api/route', passport.authenticate('bearer'));
app.use('/api/route', router);
Ma questo richiederebbe autenticazione su tutti miei percorsi.
C'è un modo migliore per passare il passaporto tutto intorno?
Wow, Ben, che è in realtà piuttosto intelligente! Ho solo bisogno di risolvere i nomi lì. – Zlatko
Questo sarebbe geniale, solo che non funziona quando i percorsi del percorso sono gli stessi. Ho provato questa stessa implementazione su express4, passaporto 0.3.2 e il controllo sull'autenticazione segue il percorso del percorso, non l'istanza del router. Tutti i percorsi in questo caso sono protetti per me. – jbodily
Non funzionerà se i percorsi del percorso sono uguali, come sarà possibile sapere quale si desidera utilizzare? Il primo percorso definito avrà la precedenza. –