Special Passport Authentication for Specific Route
This can be addressed with a custom middleware which calls the Passport.js middleware.
const authenticationWhiteList = [ 'POST /beer']function Authenticate (request, response, next) { let route = `${request.method} ${request.baseUrl}` if (_.indexOf(authenticationWhiteList, route) !== -1) { next() } else { passport.authenticate('jwt', { session: false })(request, response, next) }}
Then change the authentication code to this one:
const beerRoutes = require('./beerRoutes') // an instance of express router// let authenticateRoute = passport.authenticate('jwt', { session: false })let authenticateRoute = Authenticaterouter.use('/beer', authenticateRoute, beerRoutes)