最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

运维笔记admin13浏览0评论

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

如何检查特定路由器的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. 暂无评论