基于OAuth2查询在线用户及强退用户
场景
最近工作的项目需要做认证授权、限制授权登录用户。
需要统计当前在线用户数,及强退指定用户。
效果

实现
获取所有在线用户
登录后,OAuth2会向Redis存放用户的token信息,键是token值,值是OAuth2的认证对象。
实现思路:从Redis中获取所有的token值,及通过RedisTokenStore获取到OAuth2的认证对象。
/**
* VO
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OnlineUserVo {
private String token;
private Long userId;
private String name;
private Date loginTime; //登陆时间
private Date expiration; //到期时间
private Integer expiresIn; //剩余时间
}
/**
* RedisTokenStore注入配置
*/
@Configuration
@EnableAuthorizationServer
public class TokenStoreConfig {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Bean
public RedisTokenStore redisTokenStore() {
return new RedisTokenStore(redisConnectionFactory);
}
}
//redis存放token的键前缀,可以从RedisTokenStore源码中看到
public static final

本文介绍了如何利用OAuth2实现用户认证授权,并通过Redis存储和管理token,展示了如何统计在线用户数、获取用户详情以及强制退出指定用户的方法。
最低0.47元/天 解锁文章
4550

被折叠的 条评论
为什么被折叠?



