讨论:Passport-local JWT Token在本地存储中的关注

时间:2017-08-06 13:51:20

标签: angularjs node.js mongodb jwt passport-local

我在Node.js上使用Passport-local(在Mongodb中保存用户信息)和Angular.js作为客户端。这个过程很简单。 但是这里有3个安全问题:

  1. 当我在客户端登录时,用户和真实的json文件 密码被发送到服务器。

  2. 登录后,令牌将保存在Web Explorer的本地 存储,可以在将来查看,复制和使用。

  3. salt处理的jwt令牌与Mongodb Users Collection中的用户名一起保存,可以看到并移动到另一个     服务器(以便我们可以使用相同的用户名和密码     另一台登录并获取新令牌的服务器)

  4. 有人想进一步讨论这些吗?有关如何解决它们的任何想法,并降低网站的风险?如何使用https?

1 个答案:

答案 0 :(得分:1)

如果您只想在其他服务器实例上验证令牌,则无需在用户架构中存储令牌。因为,jwt.verify()为您提供了检查令牌是否有效的功能。如果令牌有效,那么您将获得在创建令牌时使用的用户信息。如果您在数据库中找到该用户,那么您的令牌可以使用有效用户,否则不行。

创建令牌时,主要是根据您的服务器需求设置expiresIn,这样即使您的API安全受到损害,也不会长时间可用