2017-10-08 47 views
0

我对JWT验证如何工作有点困惑。一旦用户能够登录,我的快递服务器就会使用令牌进行响应,该令牌在客户端存储在本地存储中。随着每个请求,我发送该令牌。我的问题是,如何限制用户查看他/她的特定数据(例如用户配置文件)?单独的令牌能够确定哪个用户正在请求服务器端的用户数据,还是需要将该用户名与令牌一起发送?这是安全的吗?基于令牌的Node/Express验证

回答

1

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

如何限制用户查看他/她的特定数据(例如,用户 配置文件)?

如果你从令牌的有效载荷的ID,那么你可以与用户希望看到的,如果它们是相同的,则意味着他希望看到他的个人资料的配置文件的ID进行比较。

是令牌单独能够决定哪些用户请求在服务器端的用户 数据或我将不得不与令牌发送用户名一起 ?

不需要用户名,因为它标识用户,所以令牌本身就足够了。

这种产品是否安全?

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

+0

感谢您的回复。正是我在找什么。我以前阅读过这篇文章,虽然我并不反对,但作者未能提供一个可行的选择。 – sags