前端在access_token快过期时,刷新token,以及后端放行刷新token

This commit is contained in:
学生宫布
2020-08-01 14:39:53 +08:00
parent c0251e5cda
commit 46792c81f9
5 changed files with 465 additions and 254 deletions

View File

@@ -11,8 +11,12 @@ import com.alibaba.fastjson.JSON;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.gateway.service.ValidateCodeService;
import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils;
import reactor.core.publisher.Mono;
import java.util.List;
/**
* 验证码过滤器
*
@@ -38,8 +42,13 @@ public class ValidateCodeFilter extends AbstractGatewayFilterFactory<Object>
return (exchange, chain) -> {
ServerHttpRequest request = exchange.getRequest();
// 非登录请求,不处理
if (!StringUtils.containsIgnoreCase(request.getURI().getPath(), AUTH_URL))
MultiValueMap<String, String> queryParams = request.getQueryParams();
List<String> grant_typeS = queryParams.get("grant_type");
// 非登录请求,不处理 刷新access_token不处理
boolean isLogin = StringUtils.containsIgnoreCase(request.getURI().getPath(),AUTH_URL);
if (!isLogin || (isLogin && !ObjectUtils.isEmpty(queryParams) && !ObjectUtils.isEmpty(grant_typeS) && grant_typeS.contains("refresh_token")))
{
return chain.filter(exchange);
}