首页 > 解决方案 > 来自同一帐户的多个远程登录会导致所有访问令牌刷新 Spring Security

问题描述

我对 Spring Boot 比较陌生,理解 Spring Security 的整个结构有点困难。我正在通过 oauth2 登录端点根据请求创建令牌并将它们存储在内存中。但是,如果多个人在不同的设备上使用相同的帐户登录,所有令牌都会被销毁并突然重新创建。这会导致我所有登录的用户都获得强制会话超时。

我已经在互联网上搜索了很长时间。只需要一个或多或少解释的解决方案,就像我说的那样,我在理解 Spring Security 时遇到了一些困难。

标签: javaspring-bootspring-securityspring-security-oauth2

解决方案


事实证明,使用内存令牌产生了这个问题。不知道这背后的原因是什么。将自定义令牌存储配置为使用 JDBC 令牌。使用 JDBC 令牌会创建两个单独的表来保护访问令牌和刷新令牌。因此,即使多个用户同时登录,会话仍然受到保护。

检查以下链接了解详细信息(实现):https ://javadeveloperzone.com/spring-boot/spring-boot-oauth2-jdbc-token-store-example/


推荐阅读