PassportJS身份验证和mongodb数据库集合最佳实践?

时间:2015-07-12 17:41:34

标签: node.js mongodb express passport.js

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

我非常喜欢序列化和反序列化的想法但我关心的是用户对象,它总是打开并且可以在每个请求上使用。

我的项目涉及订阅,用户个人资料以及可能是一个小型的系统。 所以我的用户架构它包含用户凭据,用户信息,如地址,电话,电子邮件以及有关订阅的信息。其中一些信息是具有相同模式的嵌入式文档。即使我不需要,所有这些信息总是准备就绪似乎很奇怪,即使bcrypt密码总是在请求呼叫上。

我的问题是,您认为最佳做法是将用户凭据与用户对象分开并使用关系播放soi可以在需要时以正常的控制器模型方式调用用户信息吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

如果您指的是会话,那么您应该只是通过请求发送一小段数据,例如用户ID。每个请求都不应该包含整个用户文档。

答案 1 :(得分:0)

将用户凭据与其余用户数据分开是一种常见做法,因为凭证需要以非常安全的方式存储 - 以至于它决定了不同的基础架构。

我在Stormpath工作,我们将此作为服务提供。我们为您存储密码,具有非常高的加密级别。我们有一个很好的Express集成,你可以在这里查看:

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

相关问题