package cn.mb.cloud.gateway.auth; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.net.URLDecoder; import java.util.Map; @Service public class AuthService { private final static Logger log = LoggerFactory.getLogger(AuthService.class); public static final AuthService me = new AuthService(); /** * 鉴权 * @param appid * @param sign * @return */ public ResultUtil checkSyncAuth(String appid, String uri, String sign, Map queryParams) { try { // sign = URLDecoder.decode(sign, "UTF-8"); // if (StringUtils.isBlank(sign)) { // return ResultUtil.sign(); // } // // 1.鉴权 // String signUrl = AuthenticationKit.getSignUrl(uri, queryParams, "sign"); // signUrl = signUrl.replaceAll("& #40;", "\\("); // signUrl = signUrl.replaceAll("& #41;", "\\)"); // String signUrlEncode = AuthenticationKit.signUrlEncode(signUrl, appid); // if(sign.indexOf(" ") != -1 && signUrlEncode.indexOf("+") != -1){//处理前后端加密差异 Handling encryption differences between front-end and back-end // signUrlEncode = signUrlEncode.replaceAll("\\+", " "); // } // // // 签名无 not sign // if (StringUtils.isBlank(sign) || !sign.equals(signUrlEncode)) { // return ResultUtil.sign(signUrl); // } } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } return ResultUtil.success(); } }