|
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.visualization.framework.jmreport.core.service;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
+import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
|
|
|
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
|
@@ -11,7 +12,9 @@ import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi;
|
|
|
import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
|
|
|
+import org.springframework.http.HttpHeaders;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
/**
|
|
@@ -22,8 +25,33 @@ import java.util.Objects;
|
|
|
@RequiredArgsConstructor
|
|
|
public class JmReportTokenServiceImpl implements JmReportTokenServiceI {
|
|
|
|
|
|
+ private static final String JM_TOKEN_HEADER = "X-Access-Token";
|
|
|
+ /**
|
|
|
+ * 系统内置请求头
|
|
|
+ */
|
|
|
+ private static final String TOKEN_HEADER = "Authorization";
|
|
|
+ /**
|
|
|
+ * auth 相关格式
|
|
|
+ */
|
|
|
+ private static final String AUTHORIZATION_FORMAT = "Bearer %s";
|
|
|
+
|
|
|
private final OAuth2TokenApi oauth2TokenApi;
|
|
|
|
|
|
+ /**
|
|
|
+ * 修改请求的 head
|
|
|
+ *
|
|
|
+ * @return 新 head
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public HttpHeaders customApiHeader() {
|
|
|
+ HttpHeaders header = new HttpHeaders();
|
|
|
+ HttpServletRequest request = ServletUtils.getRequest();
|
|
|
+ String token = request.getHeader(JM_TOKEN_HEADER);
|
|
|
+
|
|
|
+ header.add(TOKEN_HEADER, String.format(AUTHORIZATION_FORMAT, token));
|
|
|
+ return header;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 校验 Token 是否有效,即验证通过
|
|
|
*
|