Search code examples
node.jsexpressexpress-router

express Router passing passport.jwt middleware


I know I can pass passport.js as a middleware to express router with this structure:

router.post(
    '/users/update',
    passport.authenticate('jwt', { session: false }),
    UserController.updateOne
    );

but, I need to use blow structure for clarity and standardization and..... but I don't know how to pass passport middleware to my routes.is there any way I can pass passport to my new design?

const express = require("express");
const passport = require("passport");
require("./../../services/passport").passportAPI(passport);
const adminRouter = express.Router();

adminRouter
    .route("/roomfacilities")
    .get(RoomFacilities.getAll)
    .post(RoomFacilities.createOne);

Solution

  • Have a look here

    You can do somthing like

    adminRouter
      .route("/roomfacilities")
      .all(passport)
      .get(...)
    

    Also .use() should work also.

    adminRouter
      .use(passport)
      .route(...)
      .get(...)