Browse Source

wps signature

master
zhizhi wu 5 years ago
parent
commit
41acd8e3bc
  1. 21
      tall/src/main/java/com/ccsens/tall/web/WpsController.java

21
tall/src/main/java/com/ccsens/tall/web/WpsController.java

@ -1,5 +1,6 @@
package com.ccsens.tall.web;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.dto.WpsDto;
@ -220,10 +221,22 @@ public class WpsController {
private WpsHeader checkSignature(HttpServletRequest request, String signature) throws Exception {
WpsHeader header = WpsHeader.getHeader(request);
Map<String, String> paramMap = initMap();
if (StrUtil.isNotEmpty(request.getParameter("_w_url"))) {
paramMap.put("_w_url", request.getParameter("_w_url"));
} else if (StrUtil.isNotEmpty(request.getParameter("_w_token"))) {
paramMap.put("_w_token", request.getParameter("_w_token"));
// if (StrUtil.isNotEmpty(request.getParameter("_w_url"))) {
// paramMap.put("_w_url", request.getParameter("_w_url"));
// } else if (StrUtil.isNotEmpty(request.getParameter("_w_token"))) {
// paramMap.put("_w_token", request.getParameter("_w_token"));
// }
Map<String, String[]> parameterMap = request.getParameterMap();
if (CollectionUtil.isNotEmpty(parameterMap)) {
for (Map.Entry<String, String[]> param: parameterMap.entrySet()) {
String key = param.getKey();
log.info("key:{}", key);
if (key.startsWith("_w_") && ! "_w_appid".equals(key) && !"_w_signature".equals(key)) {
String[] values = param.getValue();
paramMap.put(key, values == null || values.length == 0 ? "" : values[0]);
}
}
}
String newSignature = WpsSignature.getSignature(paramMap, WebConstant.Wps.APPKEY);

Loading…
Cancel
Save