refreshToken刷新token后会变化的原因以及refreshToken的复用

refreshToken刷新token后会变化的原因以及refreshToken的复用

两次使用refreshToken刷新token返回的refreshToken如下:

第一次返回的refreshToken
第二次返回的refreshToken

将两次返回的refreshToken解密后可以看到。除了ati不一样,其它参数都是一样的

ati(access token):新的访问令牌的id
jti : refreshToken 的id

既然刷出了新的token,那么ati肯定变了,那么由这些信息加密成的refreshToken自然也是一直变化的

那么如果想无限制刷新refreshtoken的有效期怎么办?
可以在认证服务器配置refreshToken的复用

 public void configure(AuthorizationServerEndpointsConfigurer endpoints) {
        TokenEnhancerChain tokenEnhancerChain = new TokenEnhancerChain();
        List<TokenEnhancer> tokenEnhancers = new ArrayList<>();
        tokenEnhancers.add(tokenEnhancer());
        tokenEnhancers.add(jwtAccessTokenConverter());
        tokenEnhancerChain.setTokenEnhancers(tokenEnhancers);
        endpoints
                .authenticationManager(authenticationManager)
                .accessTokenConverter(jwtAccessTokenConverter())
                .tokenEnhancer(tokenEnhancerChain)
                .userDetailsService(userDetailsService)
                // refreshToken非重复使用     
                .reuseRefreshTokens(false);
    }

refresh token有两种使用方式:重复使用(true)、非重复使用(false),默认为true

  1. 重复使用:access token过期刷新时, refresh token过期时间未改变,仍以初次生成的时间为准
  2. 非重复使用:access token过期刷新时, refresh token过期时间延续,在refresh token有效期内刷新便永不失效达到

参考链接

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值