处理令牌的架构(NodeJS)(MongoDB)

时间:2015-01-16 17:31:41

标签: node.js mongodb session authentication token

我想知道以下选项的优缺点来正确处理令牌:

选项A:

(在后端)api.login(用户)>> (使用Passport成功)>> createOrUpdateToken>> toSaveTokenIn UserDocument >>返回用户>> (在前端)toSavetokenUserInFrontEnd(window.localStorage.setItem)

选项B:

(在后端)api.login(用户)>> (使用Passport成功)>> createOrUpdateToken>> toSaveTokenIn TokenDocument >>返回用户和标记>> (在前端)toSavetokenUserInFrontEnd(window.localStorage.setItem)

什么是正确的选择?为什么?

1 个答案:

答案 0 :(得分:1)

听起来你问的主要是数据库问题:你应该在你的用户文档中存储你的令牌吗?或者在单独的令牌文档中?

这是我的想法:

如果您正在使用NoSQL数据库(我假设您是这样),您可能最好直接将令牌存储在用户文档中,因为这意味着您将能够避免昂贵的连接操作

由于令牌将在每个API请求中使用,因此每次访问两个集合都会占用大量数据,而不仅仅是用户集合。

一般情况也是如此:任何需要频繁访问的信息都应该非常规范化以提高速度。

希望这有帮助!