我正在编写我的第一个Express NodeJS应用程序,我想知道在身份验证中间件方面的最佳做法是什么?
我正在为每个新用户使用访问令牌和cookie(由用户ID和一些随机字节组成),对于某些路由,我只希望给予用户访问权限。
从中间件访问数据库是个好主意吗?或者我应该在哪里检查给定用户是否可以访问给定资源?
谢谢!
答案 0 :(得分:1)
为nodejs应用程序构建了许多用于身份验证的模块。但是,nodejs / expressjs最常用的模块是Passport。
如果你希望与这些库隔离,nodejs有内置的加密库等,例如,检查{{3} }出
对于会话和cookie,使用签名cookie始终是一种很好的做法。查看this SO帖子。在整个开发过程中遵循了许多保持安全性的良好实践(例如,使用https over http,this等),您将继续学习。 token based authentication是JWT(JSON Web令牌)的简短教程,可以很好地介绍JSON中基于令牌的身份验证,您可以查看。
快乐的编码:)