Nodejs用户configuration文件和会话

目标是为我的Web应用程序构build一个用户configuration文件系统。 用户将能够login,维护会话并查看他的个人资料。 在网上阅读了各种教程后,我觉得有点失落。 每个人都使用不同的库,作为networking开发的新手,目前还不清楚每个库的function。 我已经看到使用了以下库,有人可以解释用户configuration文件交互的stream程以及每个库的位置吗?

passport passport-local bcrypt-nodejs connect-flash express-session jsonwebtoken express-jwt morgan cookie-parser 

开始学习的一种方法是: https : //www.youtube.com/watch?v=Z1ktxiqyiLA在那里我学会了如何使用你的问题的插件。

好的,关于插件:

  • passport护照是一个node.js插件,通常使用express作为中间件,负责authorizationauthentication

  • passport-local – 是passport-local一个插件,在技术上更多地是一种通常用于数据库或configuration文件的身份validation策略。

  • bcrypt-nodejs通常用于encryption数据库中的密码(但比这更强大),以纯文本保存密码并不酷。

  • connect-flash – 用于显示在页面上的“用户已成功添加”,“无效的用户凭据”或任何其他要显示在页面上的成功或错误消息的消息。

  • express-session – 是一个负责存储用户会话的express中间件。

  • jsonwebtoken – jwt用于创build令牌,您将使用该令牌来识别用户是否已通过身份validation。

  • express-jwtjsonwebtokenexpress中间件

  • cookie-parser – parsingcookie的express中间件

  • morgan – 只是一个login服务。

好,所以你应该在这里理解一点理论:

  • passportpassport-local策略是一种有状态的authentication机制,如果用户被authentication或不在会话中,应该保存这个authentication机制,如果你没有将你的会话作为数据库保存在第三方服务中,那么重新启动node.js服务器/文件等…你将失去会议。

  • jsonwebtoken是一种无状态身份validation机制,您不需要在服务器上只保存“密钥”。 无状态架构有一些很酷的优点,因为它促进了横向扩展性,你可以有无穷无尽的节点,知道如何parsing发送的令牌,并了解用户是否login。 最近我使用jwt作为身份validation。