根据授权码获取openId信息
服务ID | zjrcuoip.oauth.get.openId.new |
---|
VERSION | 1.0.0 |
服务详细描述:
根据丰收互联授权码获取用户openId和访问令牌
示例代码
GetOpenIdByAuth.java
INetTools netTools = NetToolsHttpFactory.getHttpInstance();
OipReqBean oipReqBean = new OipReqBean();
oipReqBean.setAppId("应用id");
oipReqBean.setDlpId("开发者id");
oipReqBean.setProdId("产品id");
oipReqBean.setMethod("zjrcuoip.oauth.get.openId.new");
oipReqBean.setVersion("1.0.0");
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
oipReqBean.setTimestamp(sf.format(new Date()));
NetReqConfBean netReqConfBean = new NetReqConfBean();
netReqConfBean.setAppPrivateKey("应用私钥");
netReqConfBean.setNetUrl("请求地址");
netReqConfBean.setPublicKey("开发者公钥");
GetOpenIdByCodeBean qcar = new GetOpenIdByCodeBean();
String clientSign = HMACSignUtil.genHMAC("b5c54c3f11c64fb284bdfffb2a36be4e", "d73d504dabda453997657c432cf89f04");
qcar.setClientSign(clientSign);
qcar.setCode("b5c54c3f11c64fb284bdfffb2a36be4e");
List<Map<String, String>> scopeList = new ArrayList<Map<String, String>>();
Map<String, String> scopeMap = new HashMap<String, String>();
scopeMap.put("scopeName", "get_core_user_info");
scopeList.add(scopeMap);
qcar.setScopeList(scopeList);
oipReqBean.setBizContent(JSON.toJSONString(qcar));
OipRspBean oipRspBean = netTools.execute(oipReqBean, netReqConfBean);
if (oipRspBean.isSuccess()) {
String bizJson = oipRspBean.getBizContent();
if (StringUtils.isNotBlank(bizJson)) {
Map bizData = JSON.parseObject(bizJson, Map.class);
System.out.println(bizData);
}
}else {
}
公共报文
[点击查看公共报文]
业务输入项
序号 | key | 数据项名称 | 类型 | 长度 | 是否必输 | 数据项说明 |
---|
1 | code | 授权码 | String | 40 | 是 | |
2 | clientSign | 客户端摘要 | String | 40 | 是 | 用client_secret通过HMAC-SHA1算法计算code的摘要,作为此字段的值 |
3 | authType | 授权类型 | String | 1 | 否 | 1:用户授权 2:app授权 |
4 | oauthFlag | oauth2.0授权接口组合服务标识 | String | 1 | 否 | 1:获取openId,2:刷新访问令牌,3:获取用户信息 |
5 | userId | 用户ID | String | 128 | 否 | |
6 | uniqueId | 唯一标识ID | String | 40 | 否 | |
7 | uniqueType | 唯一标识类型 | String | 1 | 否 | |
scopeList说明:
序号 | key | 数据项名称 | 类型 | 长度 | 是否必输 | 数据项说明 |
---|
1 | scopeName | 资源英文名称 | String | 50 | 是 | get_nor_user_info:获取用户昵称、用户头像等信息 普通授权 get_associate_user_info:获取用户昵称、用户头像、手机号码等信息 关联授权 get_tight_user_info: 获取用户昵称、用户头像、手机号码、证件号等信息 紧密授权 get_core_user_info:获取用户昵称、用户头像、手机号码、证件号、卡号等信息 核心授权 get_default_user_info:获取openId等信息 默认授权 get_weak_user_info:弱认证用户获取用户信息 弱认证用户授权 |
业务输出项
序号 | key | 数据项名称 | 类型 | 长度 | 是否非空 | 数据项说明 |
---|
1 | accessToken | 访问令牌 | String | 32 | 是 | 新的访问令牌 |
2 | expiresIn | 访问令牌的有效期 | String | 10 | 是 | 单位为秒 |
3 | refreshToken | 刷新令牌 | String | 32 | 否 | 新的刷新令牌 |
4 | openId | openId | String | 32 | 是 | |