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