node.js - 当我们使用 mern 堆栈时,令牌存储在后端的什么位置?
问题描述
当我们在 nodejs、express、mongoose、mongodb 中使用 jsonwebtoken 时,令牌如何或在哪里存储以保持令牌和用户映射?
解决方案
这取决于确切的架构。如果您有一个从授权服务器获取访问令牌以访问某些 API 的后端和一个单独的前端,则通常会为前端用户创建一个会话,然后将条目保存在用户会话绑定到的数据库中访问令牌。
如果是您的 SPA 或移动客户端获取访问令牌,通常您可以将它们存储在内存中。
如果您正在实施授权服务器,那么您可能不需要存储访问令牌,如果您正在发布 JWT(如 deceze 所述,JWT 包含所有数据)。如果您发行不透明的令牌,则需要将它们保存在数据库中,或者您需要能够撤销令牌。
所以这真的取决于你的设置和你到底在做什么。
推荐阅读
- javascript - nuxt.js 在 vue.js 组件中获取默认头部
- javascript - 在 JavaScript 中展平 JSON 对象
- javascript - html5 视频播放列表有视频之间的差距
- arrays - 如何比较 WordPress 中的子类别?
- typescript - 在记录字段中寻找多态的类型(静态鸭子类型)
- linux - VScode 设置.json
- excel - EPPlus v4 Worksheet.InsertRow >1024 错误
- sql-server - 如何从 Azure Synapse Analytics 读取记录?
- spring-boot - Springboot hot-reload is not working in IDEA
- java - Converted jar to exe file but not working after installation