package com.fdkankan.manage.httpClient; import com.alibaba.fastjson.JSONObject; import com.dtflys.forest.http.ForestRequest; import com.dtflys.forest.interceptor.Interceptor; import com.dtflys.forest.reflection.ForestMethod; import com.fdkankan.manage.config.ManageConfig; import com.fdkankan.sign.RsaUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.time.Instant; import java.util.Date; @Component @Slf4j public class SignInterceptor implements Interceptor { @Autowired ManageConfig manageConfig; @Override public void onInvokeMethod(ForestRequest request, ForestMethod method, Object[] args) { JSONObject playload = new JSONObject(); playload.put("appId", manageConfig.getAppid()); playload.put("timestamp", new Date().getTime()); request.addHeader("sign", RsaUtils.encipher(playload.toJSONString(),manageConfig.getPublicKey())); request.addHeader("appId", manageConfig.getAppid()); } }