oauth2.0刷新访问令牌
服务ID | zjrcuoip.system.base.oauth.token.refresh.new |
---|
VERSION | 1.0.0 |
服务详细描述:
根据丰收互联授权码获取用户openId和访问令牌
示例代码
OauthRefreshTokenDemo.java
INetTools netTools = NetToolsHttpFactory.getHttpInstance();
OipReqBean oipReqBean = new OipReqBean();
oipReqBean.setAppId("应用id");
oipReqBean.setDlpId("开发者id");
oipReqBean.setProdId("产品id");
oipReqBean.setMethod("zjrcuoip.system.base.oauth.token.refresh.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("开发者公钥");
OauthRefeshTokenRequestBean authRefeshTokenRequestBean = new OauthRefeshTokenRequestBean();
String refreshToken = "15dd66eefdb344ada77db82b12690d2f";
authRefeshTokenRequestBean.setOpenId("f68b3d2124ee4d19a8a1856c0d091a99");
authRefeshTokenRequestBean.setRefreshToken(refreshToken);
String clientIdKey = "0aace68d72a8437daea919fa67d1d617";
String clientSign = HMACSignUtil.genHMAC(refreshToken, clientIdKey);
authRefeshTokenRequestBean.setClientSign(clientSign);
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);
authRefeshTokenRequestBean.setScopeList(scopeList);
oipReqBean.setBizContent(JSON.toJSONString(authRefeshTokenRequestBean));
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);
}
}
公共报文
[点击查看公共报文]
业务输入项
序号 | key | 数据项名称 | 类型 | 长度 | 是否必输 | 数据项说明 |
---|
1 | openId | 唯一标示 | String | 32 | 是 | |
2 | clientSign | 客户端摘要 | String | 40 | 是 | 用client_secret通过HMAC-SHA1算法计算refresh_token的摘要,作为此字段的值 |
3 | refreshToken | 刷新令牌 | String | 32 | 是 | |
4 | oauthFlag | oauth2.0授权接口组合服务标识 | String | 1 | 否 | oauth2.0授权接口组合服务标示,1:获取openId,2:刷新访问令牌,3:获取用户信息 |
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 | 是 | 新的刷新令牌 |