# 3.3 应用请求数据签名生成方法
第三方应用访问勤策服务接口时需要对请求数据做签名处理,工具类需要下载JAVA开发工具包
# Java开发工具包
项目 | 名称 | 大小 |
---|---|---|
JAVA开发工具包 | openapi_tools-1.2.1.jar (opens new window) | 37 KB |
# 3.3.1 服务端接口数据签名生成方法
第三方应用访问勤策服务接口时需要对请求数据做签名处理,签名信息包含(access_token-服务商授权码, timestamp-访问时间戳, nonce-随机字符串, echoStr-请求数据体)。
echoStr是接口定义中的请求示例,为JSON格式数据,如获取用户可用积分接口中echoStr示例
{"user_id": "7951571222327321975","user_type":"1"}
签名方法,根据签名数据值自然顺序排序后拼接成一个字符串,然后获取SHA-1签名。示例如下:
/**
* 根据数据生成签名信息(1.根据数据排序 2.排序后拼接成字符串生成SHA-1签名信息)
* @param accessToken 服务商授权Token
* @param timeStamp 时间戳
* @param nonce 随机字符串
* @param echoStr 请求数据体
* @return 签名信息
* @throws Exception
*/
String sign = OAuth2Utils.makeSignature(accessToken, timeStamp, nonce, echoStr);
# 3.3.2 JS-SDK 数据签名生成方法
第三方应用访问勤策客户端提供的JS-SDK接口时需要生成签名信息,签名信息需要jsapi_ticket、noncestr、timestamp、url信息
注意:请求的URL中需要将URL中'?'以及后面的参数和'#'以及后面的锚点相关部分去除。示例如下:
/**
* 获取JSAPI签名信息
* @param url 当前页面请求URL
* @param jsapi_ticket ticket
* @param noncestr 随机字符串
* @param timestamp 时间戳
* @return
* @throws Exception
*/
String sign = OAuth2JSSDKUtils.getJsApiSignature(url, jsapi_ticket, noncestr, timestamp);