我相对较不熟悉Spring Boot,并且在理解Spring Security的整个结构方面有些困难。我正在通过oauth2登录端点根据请求创建令牌并将其存储在内存中。但是,如果多个人使用不同设备中的同一帐户登录,则所有令牌都会被破坏并突然重新创建。这会导致我所有登录的用户都强制会话超时。
我在互联网上搜索了很长时间。只是需要一个或多或少有解释的解决方案,就像我说的那样,我在理解Spring Security时遇到了一些困难。
答案 0 :(得分:1)
事实证明,在内存中使用令牌会造成此问题。不知道背后的原因是什么。将自定义令牌存储配置为使用JDBC令牌。使用JDBC令牌会创建两个单独的表,以保护访问令牌和刷新令牌。因此,即使有多个用户同时登录,无论如何该会话都可以得到保护。
检查以下链接以了解详细信息(实现):https://javadeveloperzone.com/spring-boot/spring-boot-oauth2-jdbc-token-store-example/