提问者:小点点

JWT令牌不特定于用户


在我的NodeJs(express+MongoDB)中,我使用JWT令牌来允许用户路由,例如更改密码,更新用户。。。但是,给定的JWT令牌并不特定于某个用户,因为它允许另一个用户访问所有路由,并在给定正确路由(包括ID)的情况下对任何用户进行更改。 路由按参数中的id工作。 用户的id也集成在令牌的有效载荷中。 如何使每个用户都能访问自己的路由,而不是其他用户的路由?


共1个答案

匿名用户

让我们看一个例子

如果我的用户试图访问他自己的帖子/post:id,路由应该是这样的,并且id作为一个查询参数与请求一起发送,但是如果您不想这样做,那么假设用户已经在向/posts发送令牌,并且他正在向它发出请求

router.get('/posts',(req,res)=>){
  //verfiy the token 
  //if the token is valid cont // else send(403)
  // get the userID from it 
  res.redirect('/posts/<userId>);
}