ludc
2023-09-20 54a2167daee8db848926707a4736657989776e51
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -3,15 +3,15 @@
import com.alibaba.fastjson.JSON;
import com.vci.ubcs.code.entity.TokenUserObject;
import com.vci.ubcs.code.service.IPasswordFreeLoginService;
import com.vci.ubcs.code.util.HttpUtils;
import com.vci.ubcs.starter.util.HttpUtils;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.auth.AuthenticationException;
import org.springblade.core.jwt.JwtUtil;
import org.springblade.core.jwt.props.JwtProperties;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
@@ -31,6 +31,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import static org.springblade.core.secure.utils.AuthUtil.parseJWT;
@@ -40,6 +41,7 @@
 * @date 2023/9/11 15:45
 */
@Service
@Slf4j
public class PasswordFreeLoginServiceImpl implements IPasswordFreeLoginService {
   // 通过服务注册中心获取网关的端口号
@@ -47,10 +49,12 @@
   private DiscoveryClient discoveryClient;
   // 配置的免密登录的账号所属的租户id
   @Value("${password-free.pwd-free-tenant-id}")
   // 配置的token在redis中的生存时间
   private String pwdFreeTenantId;
   // 配置的token在redis中的生存时间
   @Value("${password-free.token-redis-expire}")
   private Long tokenRedisExpire;
   @Value("${password-free.pwd-free-addr}")
   private String pwdFreeAddr;
   @Autowired
   private BladeRedis bladeRedis;
@@ -91,7 +95,8 @@
      //不存在就请求
      if(Func.isEmpty(authToken) || Func.isEmpty(user)){
         // 免密登录接口地址
         String loginUrl = "http://localhost:"+this.getGatewayPort("ubcs-gateway")+"/ubcs-auth/oauth/token";
         String loginUrl = "http://"+pwdFreeAddr+":"+this.getGatewayPort("ubcs-gateway")+"/ubcs-auth/oauth/token";
         log.debug("当前免密登录调用地址:"+loginUrl);
         // 请求ubcs-auth服务获取token,先设置请求头
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
@@ -124,7 +129,6 @@
         token2 = JwtUtil.getToken(authToken);
         user = this.getUser(token2);
      }
      //request.setAttribute("Blade-Auth",token);
      request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user);
      return true;