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<String, Object> 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<String, Object> 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;
|
}
|
}
|
}
|