Android 如何使用户的所有httpsession无效?

Android 如何使用户的所有httpsession无效?,android,tomcat,oauth-2.0,httpsession,invalidation,Android,Tomcat,Oauth 2.0,Httpsession,Invalidation,我正在开发一个应用程序,它有自己的日志系统。 我使用Tomcat中的servlet作为服务器端。 当用户注册到我的应用程序时,我创建一个访问令牌和一个刷新令牌,并将它们发送给用户。 使用应用程序时,用户提供访问令牌,如果: 过期时,服务器请求刷新令牌(如果有效,则服务器发出另一个访问令牌 无效,服务器响应无效,用户已注销 我使用httpsession在服务器端“存储”用户会话,这里存储用户信息,如访问令牌和刷新令牌,以验证请求。 现在,在我的数据库中,我有一个用于user的表和一个用于tok

我正在开发一个应用程序,它有自己的日志系统。 我使用Tomcat中的servlet作为服务器端。 当用户注册到我的应用程序时,我创建一个访问令牌和一个刷新令牌,并将它们发送给用户。 使用应用程序时,用户提供访问令牌,如果:

  • 过期时,服务器请求刷新令牌(如果有效,则服务器发出另一个访问令牌
  • 无效,服务器响应无效,用户已注销
我使用httpsession在服务器端“存储”用户会话,这里存储用户信息,如访问令牌和刷新令牌,以验证请求。 现在,在我的数据库中,我有一个用于user的表和一个用于token的表(对于每一行,它都有一个刷新令牌、访问令牌、expired in和用户引用)

当用户登录时,服务器端创建访问和刷新令牌,并创建一个httpsession并将其存储在http会话中

因此,如果用户使用两个不同的设备登录,那么用户将有两个httpsession服务器端,这就是我想要的(多个会话工作得很好)

但是,如果我更改用户设备中的密码,我希望所有其他会话都无效,DB中的令牌也无效

但是,在我的解决方案中,服务器没有提供这样的功能,因为如果用户更改了密码,唯一会失效的httpsession就是与他自己设备的cookie关联的httpsession,而且如果我更改DB中的令牌,其他设备的另一个请求将只在他们自己的会话中检查令牌(这似乎是正确的)


现在的问题是,我如何使与用户关联的其他httpsession无效?我是否应该将它们存储在DB中,然后在changin password使它们全部无效?

这两个线程应该为您提供一个起点:感谢您的回答,明天我将检查它们!谢谢。这两个线程应该为您提供一个起点:谢谢你的回答,明天我会检查的!谢谢。