1.应用场景
想要将指定页面或路径分享出去,并自定义标题和logo。但是因为是在微信中分享,分享的链接微信是不认的,需要首先使用签名认证,认证后才能分享,按照微信官网api,首先需要获取token,然后再根据token获取jsapi ticket,然后再将随机数、时间戳、url等按照keyvalue排序加密去认证,java后端代码实现如下。
2.代码实现
(1) 获取access_token
参考官方文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
access_token有效期是2小时,开发者需要在自己的服务全局缓存access_token,可以用redis来做缓存。
/**
* 获取token
* @return
*/
public String getWXaccessToken() {
String url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret=" +appSecret;
String resp = restTemplate.getForObject(url, String.class);
JSONObject resJson = JSONObject.parseObject(resp);
log.info("获取token:{}",resJson.toJSONString());
return resJson.getString("access_token");
}
(2)获取jsapi_ticket
通过access_token获取jsapi_ticket,这两个值的时效都是是7200秒(2个小时&#