package com.qianwen.smartman.common.config;
|
|
import io.jsonwebtoken.Claims;
|
import java.util.Objects;
|
import javax.servlet.http.Cookie;
|
import javax.servlet.http.HttpServletRequest;
|
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
|
import org.jeecg.modules.jmreport.common.b.f;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.core.jwt.JwtUtil;
|
import com.qianwen.core.tool.jackson.JsonUtil;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.core.tool.utils.WebUtil;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.HttpHeaders;
|
|
@Configuration
|
public class JmConfiguration implements JmReportTokenServiceI {
|
private static final String HEADER = "Blade-Auth";
|
private static final Logger log = LoggerFactory.getLogger(JmConfiguration.class);
|
public static final String COOKIE_TOKEN_NAME = "saber-access-token";
|
|
public String getUsername(String s) {
|
String token = getCookieToken(COOKIE_TOKEN_NAME, f.getHttpServletRequest());
|
String auth = JwtUtil.getToken(token);
|
Claims claims = JwtUtil.parseJWT(auth);
|
return Func.toStr(claims.get("user_name"));
|
}
|
|
public Boolean verifyToken(String s) {
|
String token = getCookieToken(COOKIE_TOKEN_NAME, f.getHttpServletRequest());
|
String auth = JwtUtil.getToken(token);
|
return Boolean.valueOf(!Objects.isNull(JwtUtil.parseJWT(auth)));
|
}
|
|
public HttpHeaders customApiHeader() {
|
String token = getCookieToken(COOKIE_TOKEN_NAME, f.getHttpServletRequest());
|
HttpHeaders httpHeaders = new HttpHeaders();
|
httpHeaders.add(HEADER, token);
|
return httpHeaders;
|
}
|
|
public static String getCookieToken(String key, HttpServletRequest request) {
|
Cookie[] cookies = request.getCookies();
|
if (cookies == null) {
|
log.warn("积木报表调取失败,token不存在,请求接口:{},请求IP:{},请求参数:{}", new Object[]{request.getRequestURI(), WebUtil.getIP(request), JsonUtil.toJson(request.getParameterMap())});
|
return "";
|
}
|
for (Cookie cookie : cookies) {
|
if (cookie.getName().equals(key)) {
|
return cookie.getValue();
|
}
|
}
|
return "";
|
}
|
}
|