From df87904f33b7a2d678e5ff47539a167aca5a8aad Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 04 十一月 2024 23:39:51 +0800 Subject: [PATCH] 钉钉登录bug修改 --- ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index 774366d..de50a6a 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -246,6 +246,7 @@ //鎺ュ彛鍦板潃锛氭敞鎰�/auth涓庨拤閽夌櫥褰曚笌鍒嗕韩鐨勫洖璋冨煙鍚嶅湴鍧�涓�鑷� @RequestMapping(value = "/dingdingLogin", method = RequestMethod.GET) public String getAccessToken(@RequestParam(value = "authCode") String authCode, @RequestParam(value = "code") String code) throws Exception { + com.aliyun.dingtalkoauth2_1_0.Client client = authClient(); GetUserTokenRequest getUserTokenRequest = new GetUserTokenRequest() @@ -257,11 +258,16 @@ .setCode(authCode) .setGrantType("authorization_code"); GetUserTokenResponse getUserTokenResponse = client.getUserToken(getUserTokenRequest); - //鑾峰彇鐢ㄦ埛涓汉token - String accessToken = getUserTokenResponse.getBody().getAccessToken(); - GetUserResponseBody userResponseBody = getUserinfoNoId(accessToken); - String userId = getUserId(accessToken, userResponseBody.getUnionId()); - OapiV2UserGetResponse.UserGetResponse userGetResponse = getUserinfo(accessToken, userId); + System.out.println(getUserTokenResponse.getBody()); + if ("dingf4816bf92d85d84435c2f4657eb6378f".equals(getUserTokenResponse.getBody().getCorpId())) { + + //鑾峰彇鐢ㄦ埛涓汉token + String accessToken = getUserTokenResponse.getBody().getAccessToken(); + GetUserResponseBody userResponseBody = getUserinfoNoId(accessToken); + return JSON.toJSONString(userResponseBody); + } + + return ""; } @@ -294,7 +300,10 @@ OapiUserGetbyunionidRequest req = new OapiUserGetbyunionidRequest(); req.setUnionid(unionId); OapiUserGetbyunionidResponse rsp = client.execute(req, accessToken); - return rsp.getResult().getUserid(); + if (rsp.isSuccess()) { + return rsp.getResult().getUserid(); + } + return null; } public OapiV2UserGetResponse.UserGetResponse getUserinfo(String accessToken, String userId) throws Exception { -- Gitblit v1.8.0