问题描述:
原来的微信小程序都绑定在微信开放平台的第一个第三方平台下,现第一个第三方平台的微信小程序绑定个数已达上限,故在同一个开放平台下创建了第二个第三方平台.如何改变代码使得绑定第一个开放平台的微信小程序任然能正常运作,然后第二个开放平台绑定的微信小程序也能授权运转?
环境背景:第三方平台绑定的微信小程序都是不同主体下的
尝试方法:将代码中的绑定的第三方平台的appsecret和appid改为第二个第三方平台,结果微信返回预授权码不合法,微信授权回调接口提示appid不合法
### 相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
//此为获取预授权码接口
public static void acquireComponentAccessToken() {
String appid = PROP.get("wx.open.appid");
String appsecret = PROP.get("wx.open.appsecret");
String componentVerifyTicket = DecryptedComponentVerifyTicket.getInstance().getComponentVerifyTicket();
Map params = new HashMap<>();
params.put("component_appid", appid);
params.put("component_appsecret", appsecret);
params.put("component_verify_ticket", componentVerifyTicket);
String json = null;
try {
json = om.writeValueAsString(params);
} catch (JsonProcessingException e) {}
String resp = HttpKit.post(ACQUIRE_COMPONENT_ACCESS_TOKEN_URL, json);
// LOG.info("(WXOPEN) JSON: " + json);
LOG.info("(WXOPEN) ACQUIRE_COMPONENT_ACCESS_TOKEN: " + resp);
Map map = null;
try {
map = om.readValue(resp, Map.class);
} catch (IOException e) {}
ComponentAccessToken componentAccessToken = ComponentAccessToken.getInstance();
componentAccessToken.setComponentAccessToken((String) map.get("component_access_token"));
componentAccessToken.setExpiresIn((Integer) map.get("expires_in"));
componentAccessToken.setRefleshTime(new Date());
}
//此为微信回调接口
public void index() {
log.info("notify请求");
// 获取component_verify_ticket推送,解密后存入单例对象
EncryptedComponentVerifyTicket ticket = new EncryptedComponentVerifyTicket();
wirePropertyFromRequest(ticket);
// log.info("(WXOPEN) ticket: " + ticket);
try {
AuthorizerAccessTokenUtil.decrypt(ticket);
} catch (AesException e) {
log.error("解密错误:" + e.getMessage());
}
// 根据是否失效,来向微信请求或从单例取得component_access_token
if (ComponentAccessToken.isExpired()) {
AuthorizerAccessTokenUtil.acquireComponentAccessToken();
}
log.info("刷新授权");
// 扫描`wx_miniapp_auth`表,将10min后失效的数据刷新授权
List miniappAuthList = WXMiniappAuth.dao.list();
AuthorizerAccessTokenUtil.refreshAuthorizerAccessToken(miniappAuthList);
renderText("success");
}
期待结果:第二个开放平台也能授权成功新的微信小程序
错误信息:微信返回预授权码不合法,微信授权回调接口提示appid不合法
本文网址:http://www.91bianli.com/weixinxiaochengxu/42339.html