首页 > 解决方案 > 浏览器删除cookie后如何从数据库中删除JWT

问题描述

我将 Express 和 Node.js 用于我的 API 和另一个身份验证服务器。目前,当用户登录时,会在 Http cookie 中发回一个刷新令牌,并将一个访问令牌发回并存储在 localStorage 中。我以这种方式设置它是因为它允许用户在其他选项卡/浏览器等中拥有多个会话。当用户登录时,如果他们点击“记住我”,则在 LS 中存储一个项目,表示下次登录,并且在应用程序启动时,它会检查并调用 API 进行登录(如果为真)。然后它将发送存储在 LS 中的访问令牌和 cookie。当用户第一次登录时,它将刷新并将其存储在数据库中的令牌数组中(让多个会话在没有覆盖令牌的情况下工作),然后每个后续请求都将检查 cookie 令牌与数据库中的令牌. 这一切正常,直到 cookie 被删除。一旦用户关闭浏览器或手动删除 cookie,数据库中的 cookie 就会留在那里,超时只会累积令牌。

所以我的问题是:删除/删除 cookie 后,如何删除数据库中的令牌?

标签: databasesecurityjwtjwt-authrefresh-token

解决方案


推荐阅读