【发布时间】:2019-06-24 00:15:00
【问题描述】:
我正在开发一个带有 Express 服务器的 NodeJ,但我在 JWT 身份验证方面遇到了很多问题,而 JWT 身份验证应该是新标准。
主要问题是当我的应用程序中有一个管理员用户管理器部分时。我不知道删除或避免客户端令牌访问的“好”方法。
我读到过使用定义了短到期时间的令牌创建黑名单数据库,但其想法是允许用户登录数月而不必重写登录数据(类似于 facebook)。在这种模式下,我认为黑名单数据库将是一个巨大的数据库。
另一种选择是将所有令牌保留在数据库中,并在删除用户时验证针对该数据库删除令牌的所有请求。
或者如果用户存在,则简单地针对用户数据库测试验证所有请求。此方法使用大量数据库交互。
我可能对同一用户在不同设备上使用令牌有疑问。
另一方面,在前端,我将不得不通过 ajax 导航或将令牌动态添加到所有 href 链接。 (可能是更好的方法?)
我必须使用其中任何一种方法吗?有更好的解决方案吗?使用会话会更好吗?
【问题讨论】:
-
sessions怎么样?它是如此灵活,我想这绝对是您所需要的 -
可能,但我读到会话可能会出现手机问题。过去我不必使用会话,因为我通常在前端工作,所以你知道在手机上集成 web 和会话是否存在任何问题?可能我也需要在没有浏览器的手机应用程序中集成网络
标签: node.js express session jwt