Browse Source

增加api测试类,移动signature到service中

master
yxt_mtl 6 months ago
parent
commit
cf847e2321
  1. 0
      src/main/java/com/yxt/ss/gateway/api/rest/ApiTestRest.java
  2. 4
      src/main/java/com/yxt/ss/gateway/api/service/Signature.java
  3. 5
      src/main/java/com/yxt/ss/gateway/api/utils/SignatureUtil.java

0
src/main/java/com/yxt/ss/gateway/api/rest/ApiTestRest.java

4
src/main/java/com/yxt/ss/gateway/api/rest/Signature.java → src/main/java/com/yxt/ss/gateway/api/service/Signature.java

@ -36,12 +36,14 @@ public class Signature {
ResultBean rb = ResultBean.fireFail();
Map<String, String> parameters = data;
//1、解析参数,校验_app是否正确,_t是否在5分钟内。
//检验_app 参数,1参数中是否存在2该参数是否为空3_app参数值是否在数据库中存在
if (!parameters.containsKey("_app") ||
parameters.get("_app") == null ||
parameters.get("_app").trim().isEmpty()) {
return rb.setMsg("_app参数缺失或无效");
}
//2、根据_app参数获取对应的secret值。
//2、根据_app参数获取对应的secret值。后续考虑从数据库中获取。
String secret = getSecret(parameters.get("_app"));
if (StringUtils.isEmpty(secret)) {
return rb.setMsg("_app参数不正确");

5
src/main/java/com/yxt/ss/gateway/api/utils/SignatureUtil.java

@ -23,9 +23,10 @@ public class SignatureUtil {
* @return 签名
*/
public static String generateSignature(Map<String, String> parameters, String secret) throws UnsupportedEncodingException, NoSuchAlgorithmException {
//1.对参数进行排序
Map<tring, String> treeMap=new TreeMap<>(parameters);
// 2. 拼接参数字符串
String content = joinParameters(parameters);
String content = joinParameters(treeMap);
// 3. 将密钥加在参数字符串的前后
content = secret + content + secret;

Loading…
Cancel
Save