Я создаю приложение с Express с Typescript. Я использую паспорт для аутентификации. Но промежуточное ПО уровня маршрутизатора express не начинает вызываться, когда
UserRoutes.ts
import { UserController } from "../controller/userController";
import { Router } from "express";
import passport from "passport";
const Authentication = require("../util/auth");
const passportService = require("../util/passport");
const requireAuth = passport.authenticate("jwt", {
session: false
});
const requireSignin = passport.authenticate("local", {
session: false
});
export class Routes {
public UserController: UserController = new UserController();
public router: Router = Router();
public routes(): Router {
this.router.get("/user", requireAuth, this.UserController.getUser);
this.router.put("/user", this.UserController.updateUser);
this.router.get("/users", this.UserController.getUsers);
return this.router;
}
}
index.ts
import express, { Application } from "express";
import * as bodyParser from "body-parser";
import { Routes } from "./routes/userRoutes";
class App {
public app: Application;
public approutes: Routes = new Routes();
constructor() {
this.app = express();
this.config();
this.app.listen(4001, () => console.log("Listening to port 4001"));
}
private config(): void {
this.app.use(bodyParser.json());
this.app.use(bodyParser.urlencoded({ extended: false }));
this.app.use(this.approutes.routes());
}
}
export default new App().app;
requireAuth - это промежуточное программное обеспечение, которое я использовал с паспортом, но оно не было вызвано. Я попробовал использовать специальное промежуточное программное обеспечение, и это тоже не вызвали.