最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何检查特定路由器的JWT令牌

IT培训 admin 3浏览 0评论

如何检查特定路由器的JWT令牌

我有类型的路由器。

/ auth / signIn

/ AUTH /注册

/用户/所有

/用户/:ID

/房间/所有

/房间/:ID

还有一条生产路线。

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '../build', 'index.html'));
});

并且我具有验证JWTToken的功能。

verifyJWTToken(req.headers.token)
  .then((user) => {
    req.user = user.data._doc;
    next();
  })
  .catch((err: any) => {
    res.status(403).json({message: "Invalid token."});
  });

如何正确检查某些路由器的令牌?特别是/ user // rooms /

但不适用于/ auth /生产路线

我想指出的是,随着时间的流逝,路线的数量会越来越大。

回答如下:

您可以使用verifyJWTToken方法作为中间件来验证特定路由的令牌。

对于房间API,

router.get('/rooms', verifyJWTToken, (req, res) => {
  // some operation
});

对于生产,您可以跳过中间件。

增订

对于两条路线/rooms/all/rooms/:id,如果您有两条单独的路线,例如

router.get('/rooms/all', (req, res) => {
  // some operation
});

router.get('/rooms/:id', (req, res) => {
  // some operation
});

然后,您必须在两条路径上都使用middleware

但是如果您的设置是这样,

app.use('/rooms', roomRoutes);

现在在您的roomRoutes模块中,这两个路由存在,

router.get('/all', () => {});
router.get('/:id', () => {});

然后您只能使用一个middleware,例如

app.use('/rooms', verifyJwtToken, roomRoutes);

如何检查特定路由器的JWT令牌

我有类型的路由器。

/ auth / signIn

/ AUTH /注册

/用户/所有

/用户/:ID

/房间/所有

/房间/:ID

还有一条生产路线。

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '../build', 'index.html'));
});

并且我具有验证JWTToken的功能。

verifyJWTToken(req.headers.token)
  .then((user) => {
    req.user = user.data._doc;
    next();
  })
  .catch((err: any) => {
    res.status(403).json({message: "Invalid token."});
  });

如何正确检查某些路由器的令牌?特别是/ user // rooms /

但不适用于/ auth /生产路线

我想指出的是,随着时间的流逝,路线的数量会越来越大。

回答如下:

您可以使用verifyJWTToken方法作为中间件来验证特定路由的令牌。

对于房间API,

router.get('/rooms', verifyJWTToken, (req, res) => {
  // some operation
});

对于生产,您可以跳过中间件。

增订

对于两条路线/rooms/all/rooms/:id,如果您有两条单独的路线,例如

router.get('/rooms/all', (req, res) => {
  // some operation
});

router.get('/rooms/:id', (req, res) => {
  // some operation
});

然后,您必须在两条路径上都使用middleware

但是如果您的设置是这样,

app.use('/rooms', roomRoutes);

现在在您的roomRoutes模块中,这两个路由存在,

router.get('/all', () => {});
router.get('/:id', () => {});

然后您只能使用一个middleware,例如

app.use('/rooms', verifyJwtToken, roomRoutes);

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论