刷新访问令牌

大约 3 分钟

oauth2.0刷新访问令牌

服务IDzjrcuoip.system.base.oauth.token.refresh.new
VERSION1.0.0

服务详细描述:

根据丰收互联授权码获取用户openId和访问令牌

示例代码

OauthRefreshTokenDemo.java

/**
 * oauth2.0新刷新访问令牌接口
 */
		// 1.获取通讯连接对象
		// 1.获取通讯连接对象
		INetTools netTools = NetToolsHttpFactory.getHttpInstance();
		// 2.生成公共请求报文对象
		OipReqBean oipReqBean = new OipReqBean();
		// 设置应用id
		oipReqBean.setAppId("应用id");
		// 设置开发者id
		oipReqBean.setDlpId("开发者id");
		// 设置产品id
		oipReqBean.setProdId("产品id");
		// 设置api方法名
		oipReqBean.setMethod("zjrcuoip.system.base.oauth.token.refresh.new");
		// 设置api版本
		oipReqBean.setVersion("1.0.0");
		// 设置时间戳
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		oipReqBean.setTimestamp(sf.format(new Date()));
		// 3.生成请求配置对象,配置请求地址/url等信息
		NetReqConfBean netReqConfBean = new NetReqConfBean();
		// 应用私钥
		netReqConfBean.setAppPrivateKey("应用私钥");
		// 请求地址
		netReqConfBean.setNetUrl("请求地址");
		// 开发者公钥
		netReqConfBean.setPublicKey("开发者公钥");
		// 4.生成请求业务报文对象
		OauthRefeshTokenRequestBean authRefeshTokenRequestBean = new OauthRefeshTokenRequestBean();

		// 5.设置业务报文
		String refreshToken = "15dd66eefdb344ada77db82b12690d2f";
		authRefeshTokenRequestBean.setOpenId("f68b3d2124ee4d19a8a1856c0d091a99");
		authRefeshTokenRequestBean.setRefreshToken(refreshToken);
		// 生成客户端摘要
		String clientIdKey = "0aace68d72a8437daea919fa67d1d617";// 开放平台应用id秘钥,计算clientSign(客户端摘要)时需要使用
		String clientSign = HMACSignUtil.genHMAC(refreshToken, clientIdKey);// 客户端摘要,用client_secret通过HMAC-SHA1算法计算refresh_token的摘要,作为此字段的值

		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);

		// 6.生成业务报文json对象
		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数据项名称类型长度是否必输数据项说明
1openId唯一标示String32
2clientSign客户端摘要String40用client_secret通过HMAC-SHA1算法计算refresh_token的摘要,作为此字段的值
3refreshToken刷新令牌String32
4oauthFlagoauth2.0授权接口组合服务标识String1oauth2.0授权接口组合服务标示,1:获取openId,2:刷新访问令牌,3:获取用户信息

scopeList说明:

序号key数据项名称类型长度是否必输数据项说明
1scopeName资源英文名称String50get_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数据项名称类型长度是否非空数据项说明
1accessToken访问令牌String32新的访问令牌
2expiresIn访问令牌的有效期String10单位为秒
3refreshToken刷新令牌String32新的刷新令牌
服务响应码响应信息
00000000交易成功