Sto implementando un'API RESTful con Express in Node e sono nuovo per entrambi. Mi piacerebbe utilizzare l'autenticazione di base per controllare l'accesso.È possibile applicare l'autenticazione di base/il middleware nei percorsi con una whitelist in Express?
Mi piacerebbe applicarlo utilizzando qualcosa come una lista bianca, ma non sono sicuro di come farlo.
Liste nere è facile, posso solo Pepe La mia #VERB
chiamate con il secondo argomento:
app.get('/', asyncAuth, requestHandler);
posso prendere che anche oltre e blacklist tutto con:
app.all('*', asyncAuth, requestHandler);
Ma io voglio applicare il mio basicAuth su ogni singola route, eccetto per POST /users
. C'è un modo elegante per farlo? Posso utilizzare l'approccio "lista nera" per rimuoverlo in modo selettivo dalle rotte che desidero? Non riuscivo a capire come.
domanda interessante, credo che la tua domanda è più di "Come seleziona un percorso negativo ", cioè, abbina con garbo ogni percorso tranne alcuni percorsi espressi. Puoi provare i percorsi di corrispondenza con espressioni regolari e negare "/ utenti", ad esempio http://stackoverflow.com/questions/6586197/expressjs-bind-all-routes-except-2-folders? –
Grazie! Stavo avendo problemi a formularlo. Selezionare una rotta negativa è quello che mi piacerebbe fare. Ho pensato di usare una regex, avrebbe funzionato, ma sembrava un po 'un hack. Sembra che ci dovrebbe essere un modo migliore. – Terraflubb