首页 > 解决方案 > 当我们使用 mern 堆栈时,令牌存储在后端的什么位置?

问题描述

当我们在 nodejs、express、mongoose、mongodb 中使用 jsonwebtoken 时,令牌如何或在哪里存储以保持令牌和用户映射?

标签: node.jsmongodbexpressmongoosejwt

解决方案


这取决于确切的架构。如果您有一个从授权服务器获取访问令牌以访问某些 API 的后端和一个单独的前端,则通常会为前端用户创建一个会话,然后将条目保存在用户会话绑定到的数据库中访问令牌。

如果是您的 SPA 或移动客户端获取访问令牌,通常您可以将它们存储在内存中。

如果您正在实施授权服务器,那么您可能不需要存储访问令牌,如果您正在发布 JWT(如 deceze 所述,JWT 包含所有数据)。如果您发行不透明的令牌,则需要将它们保存在数据库中,或者您需要能够撤销令牌。

所以这真的取决于你的设置和你到底在做什么。


推荐阅读