Oauth2设置令牌过期时间accessTokenValiditySeconds,在代码中怎么判断是否过期

我们再配置ouath2的时候都会配置资源认证的服务器

其中在配置授权服务器断点时会配置令牌的存储:tokenStore(tokenStore) ,这个令牌存储中会存令牌的过期时间,cliend_id,name等信息,一般默认使用InMemoryTokenStore()存储。我们可以在AuthorizationServerEndpointsConfigurer类中查看区别判断token的存储代码逻辑

有了上面的前提后,我们直接在AuthorizationServerEndpointsConfigurer类中定位TokenStore

我们可以看到其中逻辑当你不配置tokenStore时也就是等于null时,会先判断令牌转换器accessTokenConverter()类型 ,这里我只讲 InMemoryTokenStore

private final DelayQueue<TokenExpiry> expiryQueue = new DelayQueue<TokenExpiry>();

private final ConcurrentHashMap<String, TokenExpiry> expiryMap = new ConcurrentHashMap<String, TokenExpiry>();

这是定时队列

当你设置有效时间时会走这里

其中的TokenEXpiry类中就有对时间的操作

队列也会执行flush操作,轮询之后移除队列信息。当队列信息为空时,就失效token

如果是JwtTokenStore存储的话可以直接进入该类中,当前这个类中并没有操作时间的,我们可以看到它有两个属性,我们先进入第一个属性进入该类

进入该类后,搜索expir(过期时间)可以看到下面的代码,打上断点

我们之前是设置的过期时间是100秒

启动项目后,请求

未完待续。。。。。。。。。。。。。。。。。。。。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值