繁体   English   中英

Node.js网站的用户身份验证

[英]User authentication for Node.js website

我正在建立一个基于Node.js的网站。

我遵循的确保API安全性的方法如下:

  • 用户使用电子邮件和密码注册
  • 成功注册和登录后,客户端会收到一个随机生成的令牌
  • 它将令牌存储在本地存储中并将令牌作为标头传递到所有后续请求中
  • 对于每个后续请求,服务器都会检查令牌并验证用户
  • 用户注销后, 存储在客户端本地存储中令牌将被删除
  • 用户再次登录时将获得一个新令牌

以上方法是否足够好?请提出更好的方法。

我也看到有人使用本地护照进行身份验证。 通过以上身份验证方式, 本地护照如何提供帮助?

由于许多原因,这不是一个好方法。 例如:

  1. 在您的方法中,用户将无法同时从两个浏览器(Mobile + Desktop)登录。

  2. 通过XSS攻击窃取localStorage数据非常容易。 如果仅使用服务器Cookie,则难度会更大。

代替随机令牌,最好使用Json Web令牌( https://jwt.io/introduction/ )。 这将为您提供一种简单的方法来验证令牌是否有效(令牌已签名并具有到期时间)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM