fix: 积木报表 API 数据集解析时 token 未正确解析的问题

This commit is contained in:
gaibu 2023-01-07 10:14:25 +08:00
parent 94bf24ad45
commit d580d8f9ab

View File

@ -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.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.exception.ServiceException; 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.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; 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 cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
import org.springframework.http.HttpHeaders;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects; import java.util.Objects;
/** /**
@ -22,8 +25,33 @@ import java.util.Objects;
@RequiredArgsConstructor @RequiredArgsConstructor
public class JmReportTokenServiceImpl implements JmReportTokenServiceI { 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; 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 是否有效即验证通过 * 校验 Token 是否有效即验证通过
* *