From c8819e40fbb66d64414d1547f7b0bfa2b31bd795 Mon Sep 17 00:00:00 2001 From: qiufeng Date: Mon, 15 Apr 2024 17:54:14 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20token=E6=A0=A1=E9=AA=8C=E9=87=8D?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../validator/AbstractTokenValidator.java | 33 +++++++------------ .../oauth/validator/TokenValidator.java | 5 +-- .../oauth/validator/WeChatTokenValidator.java | 4 +-- .../oauth/validator/WebTokenValidator.java | 6 ++-- .../oauth/validator/AllowCodeValidator.java | 2 +- .../oauth/validator/Code2TokenValidator.java | 4 +-- .../validator/GrantTypeExistValidator.java | 2 +- 7 files changed, 21 insertions(+), 35 deletions(-) diff --git a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/AbstractTokenValidator.java b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/AbstractTokenValidator.java index 79441269..6693ba79 100644 --- a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/AbstractTokenValidator.java +++ b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/AbstractTokenValidator.java @@ -21,16 +21,13 @@ public abstract class AbstractTokenValidator implements IBaseValidator { * 校验不同类型request中包含的token信息是否正确 * * @param request - * @param result 如果result已存在结果不再校验 * @param * @return */ - public Result validateT(R request, Result result) { - if (result == null || result.getData() == null) { - String accessToken = AuthInfoUtils.getAccessToken(request); - return validate(accessToken); - } - return result; + public Result validateT(R request) { + String accessToken = AuthInfoUtils.getAccessToken(request); + return validate(accessToken); + } /** @@ -40,22 +37,14 @@ public abstract class AbstractTokenValidator implements IBaseValidator { * @return */ public Result validate(String accessToken) { - return validate(accessToken, null); - } - - public Result validate(String accessToken, Result result) { T token; - if (result == null || result.getData() == null) { - result = new Result<>(); - if (StringUtils.isEmpty(accessToken)) { - return result.setSuccess(false).setMsg("错误:令牌token不允许为空"); - } - token = (T) tokenService.getToken(accessToken); - if (token == null) { - return result.setSuccess(false).setMsg("错误:token不存在或已过期"); - } - return result.setData(token); + if (StringUtils.isEmpty(accessToken)) { + Result.fail("错误:令牌token不允许为空"); } - return result; + token = (T) tokenService.getToken(accessToken); + if (token == null) { + return Result.fail("错误:token不存在或已过期"); + } + return Result.ok(token); } } diff --git a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/TokenValidator.java b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/TokenValidator.java index b628e9e3..d81e4e5d 100644 --- a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/TokenValidator.java +++ b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/TokenValidator.java @@ -22,11 +22,8 @@ public class TokenValidator { public Result validator(R request) { String accessToken = AuthInfoUtils.getAccessToken(request); - if (StringUtils.isEmpty(accessToken)) { - return Result.fail("错误:令牌token不允许为空"); - } Result result; - if (accessToken.startsWith(SerConstant.WX_PREFIX)) { + if (!StringUtils.isEmpty(accessToken) && accessToken.startsWith(SerConstant.WX_PREFIX)) { result = weChatTokenValidator.validate(accessToken); } else { result = webTokenValidator.validate(accessToken); diff --git a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WeChatTokenValidator.java b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WeChatTokenValidator.java index 371dfd5c..e6106bc2 100644 --- a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WeChatTokenValidator.java +++ b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WeChatTokenValidator.java @@ -22,11 +22,11 @@ public class WeChatTokenValidator extends AbstractTokenValidator { } public Result validate(HttpServletRequest request) { - return validateT(request, null); + return validateT(request); } @Override public Result validate(HttpServletRequest request, Result result) { - return validateT(request, result); + return validateT(request); } } diff --git a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WebTokenValidator.java b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WebTokenValidator.java index 7a91517b..a195d9e9 100644 --- a/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WebTokenValidator.java +++ b/mf-common/mf-common-oauth/src/main/java/cn/com/mfish/common/oauth/validator/WebTokenValidator.java @@ -21,16 +21,16 @@ public class WebTokenValidator extends AbstractTokenValidator } public Result validate(ServerHttpRequest request) { - return validateT(request, null); + return validateT(request); } public Result validate(HttpServletRequest request) { - return validateT(request, null); + return validateT(request); } @Override public Result validate(HttpServletRequest request, Result result) { - return validateT(request, result); + return validateT(request); } } diff --git a/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/AllowCodeValidator.java b/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/AllowCodeValidator.java index d2615197..047834d9 100644 --- a/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/AllowCodeValidator.java +++ b/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/AllowCodeValidator.java @@ -19,7 +19,7 @@ public class AllowCodeValidator extends AbstractClientValidator { if (!result1.isSuccess()) { return result1; } - if(result1.getData().getGrantTypes().indexOf(GrantType.AUTHORIZATION_CODE.toString())<0){ + if(!result1.getData().getGrantTypes().contains(GrantType.AUTHORIZATION_CODE.toString())){ return result1.setSuccess(false).setMsg("错误:该客户端不支持code请求方式!"); } return result1; diff --git a/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/Code2TokenValidator.java b/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/Code2TokenValidator.java index 76cf3fcb..8a462357 100644 --- a/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/Code2TokenValidator.java +++ b/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/Code2TokenValidator.java @@ -43,7 +43,7 @@ public class Code2TokenValidator extends MultipleValidator { * 校验code换token两次传入的clientId是否一致 */ @Component - public class ClientIdEqualValidator extends AbstractCodeValidator { + public static class ClientIdEqualValidator extends AbstractCodeValidator { @Override public Result validate(HttpServletRequest request, Result result) { Result result1 = getAuthCode(request, result); @@ -62,7 +62,7 @@ public class Code2TokenValidator extends MultipleValidator { * 校验code换token两次传入的uri是否一致 */ @Component - public class UriEqualValidator extends AbstractCodeValidator { + public static class UriEqualValidator extends AbstractCodeValidator { @Override public Result validate(HttpServletRequest request, Result result) { Result result1 = getAuthCode(request, result); diff --git a/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/GrantTypeExistValidator.java b/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/GrantTypeExistValidator.java index 6fc02f74..b0c53581 100644 --- a/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/GrantTypeExistValidator.java +++ b/mf-oauth/src/main/java/cn/com/mfish/oauth/validator/GrantTypeExistValidator.java @@ -24,7 +24,7 @@ public class GrantTypeExistValidator extends AbstractClientValidator { if (StringUtils.isEmpty(grantType)) { return result1.setSuccess(false).setMsg("错误:grant_type为空"); } - if (result1.getData().getGrantTypes().indexOf(grantType) < 0) { + if (!result1.getData().getGrantTypes().contains(grantType)) { return result1.setSuccess(false).setMsg("错误:该客户端不支持" + grantType + "请求方式!"); } return result1;