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