流程如下:
- 小程序端调用由微信提供的wx.login()方法,获取登录凭证(code)
- 获取到code之后,到服务端换取openId以及sessionKey,服务端此时需要发送请求到微信,用code换取openId以及sessionKey,使用此请求:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code,这里需要使用到APPID以及APPSECRET
- 这一步用代码解释:
String openIdUrl = https://api.weixin.qq.com/sns/jscode2session? appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code;
String getOpenIdUrl = openIdUrl.replace(“APPID”, appId).replace(“SECRET”, appSecret).replace(“JSCODE”, code);
JSONObject jsonObject = HttpsRequestUtils.get(getOpenIdUrl);
String sessionKey = jsonObject.getString(“sessionKey”);
String openId = jsonObject.getString(“openid”); - 这样就可以获取到需要的两个参数了
- 注意,小程序获取的code是有失效时间的,有效期五分钟
这边可以让小程序端调用微信自带的检测code失效方法,避免不必要的调用