forked from kidgrow-microservices-platform

zhaoxiaohao
2021-03-11 1408601f448f77fcdb82204236fd61bfc36d0938
优化token验证的流程,再完善
1 files modified
15 ■■■■ changed files
kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java 15 ●●●● patch | view | raw | blame | history
kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java
@@ -108,19 +108,20 @@
        if (StringUtils.isBlank(webApp)) {
            return ResultBody.failed("请输入应用id");
        }
        //获取token
        Collection<OAuth2AccessToken> tokensByClientIdAndUserName = this.tokenStore.findTokensByClientIdAndUserName(webApp, name);
        Collection<OAuth2AccessToken> tokensByClientIdAndUserName = tokenStore.findTokensByClientIdAndUserName(webApp, name);
        List<OAuth2AccessToken> collect = tokensByClientIdAndUserName.stream().collect(Collectors.toList());
//        验证token
        if(collect!=null){
        if(collect!=null&&collect.size()>0){
            //获取最后一次token
            OAuth2AccessToken oAuth2AccessToken = collect.get(collect.size() - 1);
            if(oAuth2AccessToken.isExpired()){
            //获取最亲的token
            OAuth2AccessToken oAuth2AccessTokenNew = tokenStore.readAccessToken(oAuth2AccessToken.getValue());
            if(oAuth2AccessTokenNew!=null&&oAuth2AccessTokenNew.isExpired()){
                return ResultBody.ok().data(true);
            }else {
            }else if (oAuth2AccessTokenNew!=null&&!oAuth2AccessTokenNew.isExpired()){
                return ResultBody.ok().data(false);
            }
        }else {
            return ResultBody.ok().data(true);
        }
        return ResultBody.ok().data(true);
    }
}