|
|
@@ -29,10 +29,10 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
|
|
|
@Override
|
|
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
|
|
|
- Map<String, Object> result = new HashMap<String, Object>();
|
|
|
String timestamp = request.getHeader(TIMESTAMP_KEY);
|
|
|
String accessKey = request.getHeader(ACCESS_KEY);
|
|
|
String requestId = request.getHeader(RequestId);
|
|
|
+ String originSign = request.getHeader(SIGN_KEY);
|
|
|
|
|
|
String accessSecret = tokenConfig.get(accessKey);
|
|
|
if (StringUtils.isEmpty(requestId)) {
|
|
|
@@ -69,7 +69,7 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
|
|
|
throw new ApiSystemException(apiResult);
|
|
|
}
|
|
|
|
|
|
- if (!verificationSign(request, accessKey, accessSecret)) {
|
|
|
+ if (!verificationSign(accessKey, accessSecret,timestamp,requestId,originSign)) {
|
|
|
ApiResult apiResult = new ApiResult();
|
|
|
apiResult.setCode(ErrorMessage.SIGNATURE_ILLEGAL.getCode());
|
|
|
apiResult.setMessage(ErrorMessage.SIGNATURE_ILLEGAL.getMessage());
|
|
|
@@ -79,13 +79,11 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- private boolean verificationSign(HttpServletRequest request, String accessKey, String accessSecret) throws UnsupportedEncodingException {
|
|
|
- Enumeration<?> pNames = request.getHeaderNames();
|
|
|
+ private boolean verificationSign(String accessKey, String accessSecret,String timestamp,String requestId,String originSign) throws UnsupportedEncodingException {
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
- params.put(ACCESS_KEY,request.getHeader(ACCESS_KEY));
|
|
|
- params.put(RequestId,request.getHeader(RequestId));
|
|
|
- params.put(TIMESTAMP_KEY,request.getHeader(TIMESTAMP_KEY));
|
|
|
- String originSign = request.getHeader(SIGN_KEY);
|
|
|
+ params.put(ACCESS_KEY,accessKey);
|
|
|
+ params.put(RequestId,requestId);
|
|
|
+ params.put(TIMESTAMP_KEY,timestamp);
|
|
|
String sign = createSign(params, accessSecret);
|
|
|
System.out.println(sign);
|
|
|
return sign.equals(originSign);
|