智慧保安后台管理-外网项目备份
guoshilong
2024-01-04 b431c00a3e736e27599cd34793c65369fdb7b8cd
src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
@@ -188,6 +188,47 @@
   }
   /**
    * 微信小程序账号登录
    * @param tenantId
    * @param username
    * @param password
    * @return
    */
   @ApiLog("登录用户验证")
   @PostMapping("/oauth/token/wxAccount")
   @ApiOperation(value = "获取认证令牌", notes = "传入租户ID:tenantId,账号:account,密码:password,登录类型:loginType")
   public Kv wxAccount(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId,
               @ApiParam(value = "账号", required = true) @RequestParam(required = false) String username,
               @ApiParam(value = "密码", required = true) @RequestParam(required = false) String password) {
      Kv authInfo = Kv.create();
      String grantType = WebUtil.getRequest().getParameter("grant_type");
      String refreshToken = WebUtil.getRequest().getParameter("refresh_token");
      String userType = Func.toStr(WebUtil.getRequest().getHeader(TokenUtil.USER_TYPE_HEADER_KEY), TokenUtil.USER_TYPE_WX);
      TokenParameter tokenParameter = new TokenParameter();
      tokenParameter.getArgs().set("tenantId", tenantId).set("username", username).set("password", password).set("grantType", grantType).set("refreshToken", refreshToken).set("userType", userType);
      ITokenGranter granter = TokenGranterBuilder.getGranter(grantType);
      UserInfo userInfo = granter.grant(tokenParameter);
      if (userInfo == null || userInfo.getUser() == null) {
         return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "用户名或密码不正确");
      }
      return TokenUtil.createAuthInfo(userInfo);
   }
   /**
    * 微信小程序授权登录
    * @param username