基于令牌的节点/快速认证

时间:2017-10-08 19:59:23

标签: node.js express jwt json-web-token

我对JWT身份验证的工作方式感到有些困惑。一旦用户能够登录,我的快速服务器就会使用令牌进行响应,该令牌存储在客户端的本地存储中。对于每个请求,我发送该令牌。我的问题是,如何限制用户查看他/她的特定数据(例如,用户个人资料)?令牌是否能够单独确定哪个用户在服务器端请求用户数据,或者我是否必须与令牌一起发送用户名?这样安全吗?

1 个答案:

答案 0 :(得分:1)

JWT令牌将包含3个部分,其中一个称为有效负载,您将在登录时使用它来存储用户的ID。当用户发送带有令牌的请求时,您将对其进行解码并从中获取ID有效负载然后通过查询到您的数据库,您可以获得用户的个人资料。

  

如何限制用户查看他/她的特定数据(例如,用户)   轮廓)?

如果您从令牌的有效负载中获取了id,那么您可以将其与用户想要查看的配置文件的ID进行比较,如果它们相同则表示他想要查看其配置文件。

  

令牌是否能够单独确定哪个用户正在请求用户   服务器端的数据或我是否必须发送用户名   用令牌?

不需要用户名,仅凭令牌就足够了,因为它可以识别用户。

  

这安全吗?

阅读本文:http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/当然还有其他意见,尝试实施最佳实践,我认为你会没事的。