java - 从同一帐户多次远程登录会导致所有访问 token 刷新 spring security

标签 java spring-boot spring-security spring-security-oauth2

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

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

最佳答案

事实证明,使用内存 token 造成了这个问题。不知道这背后的原因是什么。将自定义 token 存储配置为使用 JDBC token 。使用 JDBC token 创建两个单独的表来保护访问 token 和刷新 token 。因此,即使多个用户同时登录, session 也无论如何都会受到保护。

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

关于java - 从同一帐户多次远程登录会导致所有访问 token 刷新 spring security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51258156/

相关文章:

java - MultipartFile 问题,无法转换为文件

java - 用户帐户被禁用 - Spring Security

java - myClass$1.class 类的 Java 类文件有什么意义?

spring-boot - 尝试从发布在 docker 上的 Neo4jRepository 检索数据时出现 Neo4jSession 错误[仅 DOCKER 问题]

java - 登录时在 spring security 中更改用户名

spring-security - Spring Security 5.2——如何自定义OAuth2ResourceServer使用的NimbusJWTDecoder?

java - 中央认证服务(CAS)。关于 POST 请求的警告

java : mapping the Values from Enumeration to Object

java - Spring Boot 运行良好,但不是它的 Jar?

java - 使用 Play Framework 和 Ebean 的复杂连接