微信分享-微信认证授权详细代码示例
微信认证授权详细代码示例
背景
开发前必须知道的东西
操作步骤
1 HttpUtil工具类的编写
这个工具类的作用就是获取签名,可分为四步:
- 根据appId和appsecret获取access_token;
- 使用access_token获取jsapi_ticket;
- 使用时间戳,随机数,jsapi_ticket和要访问的url按照签名算法拼接字符串;
- 对第三步的字符串进行SHA1加密,得到签名;
注意: check_signature方法中的clearLove是我的token,记得换成你们自己的
注意: ***access_token***有每天2000次的获取上限,并且有效时间长达两小时,所以建议缓存 access_token***和***access_ticket
注意:
- 我一开始尝试的下图的方法,不行之后才换的上述方法,你们也可以试试这个:
- 如果方法写好了,并且确定可以正确的返回echostr.那就关闭断点再提交,否则会因为响应超时配置失败.
3 页面相关代码
- 在需要调用js接口的页面接入,这个文件就是这个样子的,你们复制一下就好了
- 通过config接口注入权限并验证配置,这一步也需要用到我们前面写好的HttpUtil.
下面是比较完整的前端代码,你们可以拿去改一下:
下面是后台controller中的获取配置信息的方法:
注意:
-
如果==getConfig()=接收到url,可以把请求方式改成get试试.
- 通过ready接口处理成功验证
wx.ready(function(){ // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 });
- 通过error接口处理失败验证
wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 });
小结
搞之前觉得这个东西应该挺简单的,但是中间还是踩了很多坑,所以写了这文章总结一下,写完这篇文章的发现确实挺简单的,简单到代码放上来我都不知道该说啥了.
参考博客
下一篇:
Java中Set真的是无序的吗?