Express -Тип сценария Промежуточное ПО уровня маршрута не вызывается - PullRequest
0 голосов
/ 15 марта 2020

Я создаю приложение с 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 - это промежуточное программное обеспечение, которое я использовал с паспортом, но оно не было вызвано. Я попробовал использовать специальное промежуточное программное обеспечение, и это тоже не вызвали.

...