| | |
| | | //接口地址:注意/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() |
| | | |
| | |
| | | .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 ""; |
| | | } |
| | | |
| | |
| | | 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 { |