Appearance
support-dingtalk (钉钉相关组件)
maven引入
xml<dependency> <groupId>com.mfwl.ruoyi</groupId> <artifactId>support-dingtalk</artifactId> </dependency>必备配置
yamldingtalk: #钉钉应用app id app-id: 123145123sd3424213 #钉钉应用app 密钥 app-secret: 12dzadasdasgsdasxcvrqwesdgerwesdfsde2wr234fsdvs #授权通过/拒绝后回调地址 redirectUrl:https://mf8.mufengweilai.com/xxxxx相关方法-钉钉登录
javapublic 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(); }