package com.sandu.common.third.login; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import java.util.HashMap; import java.util.Map; public class WechatAuthManager { // private static String appId = "wxcd7f071178abf22d"; // private static String secret = "691ca1872edc25c59bcfbbc83637c1ce"; private static String accessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token"; private static String userInfoUrl = "https://api.weixin.qq.com/sns/userinfo"; public static void main(String[] args) { // getAuthInfo("081XaBll2ouyM54Wzrnl2b3QT31XaBlb"); WechatAuthDto authInfo = getAuthInfo("073KKu1000jnuM1DaY300qRSC84KKu1M", "wxf804f0cc213bf43f", "b0507de1b7aa1eed9873752b61ed8669"); System.out.println(authInfo); } public static WechatAuthDto getAuthInfo(String code, String appId, String secret) { Map p = new HashMap<>(); p.put("appid", appId); p.put("secret", secret); p.put("code", code); p.put("grant_type", "authorization_code"); String ret = HttpUtil.get(accessTokenUrl, p); System.out.println(ret); JSONObject jsonObject = JSONUtil.parseObj(ret); if (jsonObject.containsKey("access_token")) { String accessToken = jsonObject.getStr("access_token"); String openId = jsonObject.getStr("openid"); Map p2 = new HashMap<>(); p2.put("access_token", accessToken); p2.put("openid", openId); String ret2 = HttpUtil.get(userInfoUrl, p2); System.out.println(ret2); WechatAuthDto wechatAuthDto = JSONUtil.toBean(ret2, WechatAuthDto.class); return wechatAuthDto; } else { System.out.println(jsonObject); return null; } } }