PassportJSauthentication和mongodb数据库收集最佳实践?

我正在一个项目中工作,实际上是第一次使用nodejs,express和mongodb。 对于我使用passport.js的身份validation,它看起来非常灵活,易于集成。

我真的很喜欢序列化和反序列化的想法,但我关心的是用户对象,它永远是开的,可以用于每个请求。

我的项目涉及订阅,用户configuration文件,也许是一个小的打勾的系统。 所以我的用户架构,它包含用户凭据,用户信息,如地址,电话,电子邮件,还有关于订阅的信息。 这些信息中的一部分是embedded在相同模式下的文档。 这似乎很奇怪,所有这些信息总是准备好,即使我不需要,甚至bcrypt密码始终在请求调用。

我的问题是,你认为最好的做法是将用户凭证从用户对象中分离出来,并与关系玩,所以当我用正常的控制器模型的方式需要时,可以调用用户信息?

提前致谢

如果你指的是会话,你应该只是发送一小部分数据与请求,如用户ID。 整个用户文档不应该在每个请求中都有。

将用户凭证与其余用户数据分开是常见的做法,因为凭证需要以非常安全的方式进行存储 – 以至于需要不同的基础结构。

我在Stormpath工作,我们提供这个服务。 我们为您存储密码,并具有非常高的encryption级别。 我们与Express有很好的整合,你可以在这里查看:

https://github.com/stormpath/stormpath-express