1、接口规范
小程序用户登录auth.code2Session接口规范参考链接
1.1、接口请求地址
GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
1.2、接口请求参数
appid
:小程序 appId
secret
:小程序 appSecret
js_code
:登录时获取的 code
grant_type
:授权类型,此处只需填写 authorization_code
1.3、接口响应参数(返回的 JSON 数据包)
openid
:用户唯一标识
session_key
:会话密钥
unionid
:用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回
errcode
:错误码***(异常情况才会有错误码返回,正常是没有该字段返回的)***
errmsg
:错误信息
2、准备工作
需要准备请求接口的3个参数:
appid
:小程序 appId,需要小程序注册申请流程获得;
secret
:小程序 appSecret,需要在小程序开发配置选项里面经由管理员扫码授权生成;
js_code
:登录时获取的 code,需要前端配置小程序信息获得,前端支持一下即可;
3、代码
//getWxOpenid()方法用来将所有请求参数拼接起来形成最终的请求URL,可以在postman/apifox里面先行测通
//code=前端提供的登录code
//APP_ID=小程序 appId
//APP_SECRET=小程序 appSecret
String urlOpenid = getWxOpenid(code, APP_ID, APP_SECRET);
//发起请求
String respOpenid = HttpUtil.get(urlOpenid);
if(StringUtil.isNull(respOpenid)){
throw new ServiceException("801","请求openid失败");
}
//将响应转为Json对象
JSONObject respOpenidObj = JSONObject.parseObject(respOpenid);
//获取openid
String openid = respOpenidObj.getString("openid");
if(openid==null){
throw new ServiceException("802","获取openid失败");
}