1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.dragoninfo.dcuc.authweb.util;
- import cn.hutool.core.util.StrUtil;
- import com.auth0.jwt.JWT;
- import com.auth0.jwt.interfaces.DecodedJWT;
- import com.dragoninfo.dcuc.common.Constants;
- import com.dragonsoft.duceap.commons.util.string.StringUtils;
- import javax.servlet.http.HttpServletRequest;
- /**
- * @author mazq
- * @date 2023/3/7
- */
- public class HeadTokenUtils {
- public static String getIdcard(HttpServletRequest request) {
- // 获取基础凭据
- String idcard = request.getHeader(Constants.IDCARD);
- // 获取总线的IDCARD
- if (StrUtil.isBlank(idcard)) {
- idcard = request.getHeader(Constants.BUS_SRE_IDCARD);
- }
- // 获取令牌中的身份证号
- if (StringUtils.isBlank(idcard)) {
- String userToken = getUserToken(request);
- if (StringUtils.isNotBlank(userToken)) {
- DecodedJWT decode = JWT.decode(userToken);
- idcard = decode.getClaim("idCard").asString();
- }
- }
- return idcard;
- }
- public static String getAppCode(HttpServletRequest request) {
- String appCode = request.getHeader(Constants.APP_CODE);
- if (StrUtil.isBlank(appCode)) {
- // 获取总线的应用代码
- appCode = request.getHeader(Constants.BUS_SRA_ID);
- }
- if (StringUtils.isBlank(appCode)) {
- String appToken = getAppToken(request);
- DecodedJWT decode = JWT.decode(appToken);
- appCode = decode.getClaim("appCode").asString();
- }
- return appCode;
- }
- public static String getUserToken(HttpServletRequest request) {
- String userToken = request.getHeader(Constants.DCUC_USER_TOKEN);
- if (StrUtil.isBlank(userToken)) {
- // 获取数据总线用户令牌
- userToken = request.getHeader(Constants.BUS_SRE_TOKEN);
- }
- if (StrUtil.isBlank(userToken)) {
- userToken = request.getHeader(Constants.USER_TOKEN);
- }
- if (StrUtil.isBlank(userToken)) {
- userToken = request.getHeader(Constants.RZZX_USERTOKEN);
- }
- return userToken;
- }
- public static String getAppToken(HttpServletRequest request) {
- String appToken = request.getHeader(Constants.DCUC_APP_TOKEN);
- if (StrUtil.isBlank(appToken)) {
- // 获取数据总线应用令牌
- appToken = request.getHeader(Constants.BUS_SRA_TOKEN);
- }
- if (StrUtil.isBlank(appToken)) {
- appToken = request.getHeader(Constants.APP_TOKEN);
- }
- if (StrUtil.isBlank(appToken)) {
- appToken = request.getHeader(Constants.RZZX_APPTOKEN);
- }
- return appToken;
- }
- }
|