美文网首页
oauth2异地登录下线

oauth2异地登录下线

作者: ExcellentYze | 来源:发表于2021-04-19 10:50 被阅读0次

1、定位到默认的oauth2登录时的createAccessToken方法源码
包位置 org\springframework\security\oauth2\provider\token\DefaultTokenServices.class

      public OAuth2AccessToken createAccessToken(OAuth2Authentication authentication) throws AuthenticationException {
        OAuth2AccessToken existingAccessToken = this.tokenStore.getAccessToken(authentication);
        OAuth2RefreshToken refreshToken = null;
        if (existingAccessToken != null) {
                if (existingAccessToken.getRefreshToken() != null) {
                    refreshToken = existingAccessToken.getRefreshToken();
                    tokenStore.removeRefreshToken(refreshToken);
                }
                tokenStore.removeAccessToken(existingAccessToken);
        }
                   ...
}

2、重写上图所示代码方法,对redis中已存在的token直接删除,每次登录时都重新生成token,令旧的token失效从而达到踢用户下线的操作
3、具体操作:

  • 复制defaultTokenService.class类,改为例如testTokenService,重写读取redis中的token的逻辑如下
 OAuth2AccessToken existingAccessToken = this.tokenStore.getAccessToken(authentication);
        OAuth2RefreshToken refreshToken = null;
        if (existingAccessToken != null) {
                if (existingAccessToken.getRefreshToken() != null) {
                    refreshToken = existingAccessToken.getRefreshToken();
                    tokenStore.removeRefreshToken(refreshToken);
                }
                tokenStore.removeAccessToken(existingAccessToken);
        }
  • 在认证服务器配置类AuthorizationServerConfigpublic void configure(AuthorizationServerEndpointsConfigurer endpoints)中,注入重写的tokenservice
    endpoints.tokenServices(tokenServices(endpoints));
  • 重启服务

相关文章

  • oauth2异地登录下线

    1、定位到默认的oauth2登录时的createAccessToken方法源码包位置 org\springfram...

  • 六.App强迫下线的实现

    前言 在Android开发过程中,最常见的功能便是“异地登录,强制下线”了。那么,今天就讲讲用广播实现"强迫下线"...

  • Android:强制下线

    实现异地登录强制下线:一、环信 1、集成环信SDK,实现网络监听接口,对连接状态进行监听2、可以根据 discon...

  • SpringCloud/Boot + Oauth2 集成短信登陆

    登录框架有很多,Oauth2算是属于比较常用的一个框架了,诸如腾讯,阿里,字节跳动等产品登录都是使用Oauth2的...

  • Spring Security Oauth2.0 实现短信验证码

    spring security oauth2 登录过程详解 ​ ​ 定义手机号登录令牌 手机号登录校验逻辑 登录过...

  • SpringSecurity结合OAuth2实现第三方授权

    SpringSecurity结合OAuth2实现第三方授权 一 OAuth2第三方登录架构 1.1 授权码模式架构...

  • Linux查看登录用户

    查看登录用户 显示当前全部的登录用户 强制下线其他用户 root用户可以使其他用户强制下线,例如关闭登录在pts/...

  • Down Login

    初始化登录布局 设置登录跳转 发送广播 接受广播并下线

  • 关于spring oauth2 登录成功跳转 performan

    在使用spring boot oauth2实现登录时,有时会出现登录成功后跳转地址为 http://localh...

  • 异地登录

    你围着粉色的围巾,我穿着毛衣牵着你的手 你喜欢下雪的天气,接住的雪花很快就化了 你说以后要工作了,就住在这下雪的北...

网友评论

      本文标题:oauth2异地登录下线

      本文链接:https://www.haomeiwen.com/subject/edcilltx.html