zhanghua
2024-11-04 df87904f33b7a2d678e5ff47539a167aca5a8aad
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 {