private static final String qqOpenIdGetUrl = "https://graph.qq.com/oauth2.0/me";
public static String getOpenId(String accessToken) {
Map<String, String> param = new HashMap<>();
param.put("access_token", accessToken);
String rsp = HttpInvokeUtil.httpGet(qqOpenIdGetUrl, param);
if (rsp == null) {
throw new BusinessException(ResultEnum.ACCOUNT_QQ_TOKEN_ERROR);
}
logger.info("getOpenId:{}", rsp);
//callback( {"client_id":"101790512","openid":"6189BEAB0227B1B548723866BEC1C9A8"} );
String result = rsp.replace("callback( ", "").replace(" );", "");
QQCallback callback = JSON.parseObject(result, QQCallback.class);
if (callback == null || StringUtils.isEmpty(callback.getOpenid())) {
throw new BusinessException(ResultEnum.ACCOUNT_QQ_TOKEN_ERROR);
}
return callback.getOpenid();
}
public static void checkOpenId(String openId, String accessToken) {
//accessToken 为空是不校验
if (StringUtils.isEmpty(accessToken)) {
return;
}
if (!openId.equals(getOpenId(accessToken))) {
throw new BusinessException(ResultEnum.ACCOUNT_QQ_TOKEN_ERROR);
}
}
QQ第三方登陆校验
最新推荐文章于 2022-05-08 09:58:22 发布
1582

被折叠的 条评论
为什么被折叠?



