我有一个用于用户身份验证的应用程序,并遇到了此问题,其中有用户登录并且JWT(JsonWebToken)存储在Cookie中。我在验证用户之后保存了cookie。接下来,作为管理员,当他/她仍然登录时,从数据库中删除该用户。由于用户仍然记录,用户在浏览器中有一个有效的JWT,所以它仍然认为它存在,因为我的方式通过webtoken验证用户是否登录。我一直在想如何解决这个问题,但我还没有能够提出任何问题。JsonWebToken用户身份验证问题
我也在GitHub上发布了这个问题。
我有一个用于用户身份验证的应用程序,并遇到了此问题,其中有用户登录并且JWT(JsonWebToken)存储在Cookie中。我在验证用户之后保存了cookie。接下来,作为管理员,当他/她仍然登录时,从数据库中删除该用户。由于用户仍然记录,用户在浏览器中有一个有效的JWT,所以它仍然认为它存在,因为我的方式通过webtoken验证用户是否登录。我一直在想如何解决这个问题,但我还没有能够提出任何问题。JsonWebToken用户身份验证问题
我也在GitHub上发布了这个问题。
一种方法是让cookie通过设置的到期时间戳到达已经通过的日期。
看看Invalidating JSON Web Tokens
有几种技术,当用户情况已经改变了它的有效期期满前失效一个JWT令牌,你不能没有从localStorage的/ cookie的删除:帐户删除/锁定/暂停,密码改变,改变的权限,用户注销通过管理员:
令牌黑名单:这是注销之间&到期时间存储令牌,标志过期,检查它的每一个要求。您需要服务器存储。您只能包含该ID或使用发布的时间字段。在上次更新用户之前发布的令牌无效
到期时间短并旋转它们。每隔几个请求就发一个新的。问题是保持用户登录时,有没有请求(例如关闭浏览器)
其他常用技术:
我可以使exp时间戳1天,但如果我在1小时内删除用户,并且用户将登录23小时甚至不存在。 – Pete
我不知道具体如何,但是当您删除用户时,您修改了Cookie的过期时间。 –