处理令牌的体系结构(NodeJS)(MongoDB)
我想知道下列选项正确处理令牌的优缺点:
选项A:
(在后端)api.login(用户)>>(用Passport成功)>> createOrUpdateToken >> toSaveTokenIn UserDocument >>返回用户>>(在前端)toSavetokenUserInFrontEnd(window.localStorage.setItem)
选项B:
(在后端)api.login(用户)>>(用Passport成功)>> createOrUpdateToken >> toSaveTokenIn TokenDocument >>返回User&Token >>(在前端)toSavetokenUserInFrontEnd(window.localStorage.setItem)
什么是正确的select? 为什么?
这听起来像你要问的主要是一个数据库问题:你应该在你的用户文档中存储你的标记吗? 或者在一个单独的令牌文件里面?
这是我的想法:
如果你使用的是NoSQL数据库(我假设你是这样的),那么最好直接在用户文档中存储令牌,因为这意味着你可以避免昂贵的连接操作。
由于令牌将用于每个API请求,每次都击中两个集合,而不仅仅是一个用户集合,这将是相当密集的数据库。
一般情况也是如此:任何需要频繁访问的信息都应该以速度非规范化。
希望这可以帮助!