1.核心源码
2.同一账号单一终端多处登录
spring security oauth2的AuthenticationKeyGenerator key值生成器 默认情况下根据 username/clientId/scope 参数组合生成唯一token。因此默认同一账号单一终端一处登录。多处登录修改key生成器即可
@Bean
@Primary
public TokenStore redisTokenStore() {
RedisTokenStore tokenStore = new RedisTokenStore(redisConnectionFactory);
tokenStore.setPrefix(AuthCommonConstants.BSS_PREFIX + AuthCommonConstants.OAUTH_PREFIX);
tokenStore.setAuthenticationKeyGenerator(new DefaultAuthenticationKeyGenerator() {
@Override
public String extractKey(OAuth2Authentication authentication) {
return super.extractKey(authentication) + AuthCommonConstants.COLON + IdWorker.getNextId();
}
});
return tokenStore;
}
3.同一账号多终端登录互踢
见:https://mp.csdn.net/editor/html/113814508
https://www.cnblogs.com/xugf/p/10720659.html
https://www.cnblogs.com/xugf/p/10726881.html