Skip to content

support-dingtalk (钉钉相关组件)

  • maven引入

    xml
    <dependency>
        <groupId>com.mfwl.ruoyi</groupId>
        <artifactId>support-dingtalk</artifactId>
    </dependency>
  • 必备配置

    yaml
    dingtalk:
      #钉钉应用app id
      app-id: 123145123sd3424213
      #钉钉应用app 密钥
      app-secret: 12dzadasdasgsdasxcvrqwesdgerwesdfsde2wr234fsdvs
      #授权通过/拒绝后回调地址
      redirectUrl:https://mf8.mufengweilai.com/xxxxx
  • 相关方法-钉钉登录

    java
    public GetUserResponseBody getUserInfo(String authCode) throws Exception {
        log.info("【钉钉登录】authCode:{}", authCode);
        GetUserTokenRequest request = new GetUserTokenRequest().setClientId(dingtalkProperties.getAppId())
           .setClientSecret(dingtalkProperties.getAppSecret())
           .setCode(authCode)
           .setGrantType("authorization_code");
        GetUserTokenResponseBody body = new Client(new Config().setProtocol("https").setRegionId("central"))
           .getUserToken(request)
           .getBody();
        // 获取用户个人token
        String accessToken = body.getAccessToken();
        log.info("【钉钉登录】accessToken:{}", accessToken);
        GetUserHeaders getUserHeaders = new GetUserHeaders().setXAcsDingtalkAccessToken(accessToken);
        com.aliyun.dingtalkcontact_1_0.Client contactClient = new com.aliyun.dingtalkcontact_1_0.Client(
              new Config().setProtocol("https").setRegionId("central"));
        // 获取用户个人信息,如需获取当前授权人的信息,unionId参数必须传me
        return contactClient.getUserWithOptions("me", getUserHeaders, new RuntimeOptions()).getBody();
    }

本内容仅限内部使用,技术细节以实际代码为准