设置——》权限管理——》增加权限组,获取CorpID、Secret;开启回调模式,使用微信的加密解密包验证url,url参数为corpid、timpstamp、nonceStr;
1.开启微信回调模式(servletdoGet):
1)使用微信的加密解密包验证url,url参数为corpid、timpstamp、nonceStr
2.截获用户发送的消息(serlvet doPost):
用户向微信服务器发送消息、微信服务器截获消息后进行加密、微信服务器将加密后的消息发送到我们的应用服务器
1)按微信消息格式封装消息对象;
2)解密消息
3)使用dom4j解析消息
4)根据messageType处理消息
3.微信定时推送个人待办事项:
1)使用spring quartz实现定时。
SchedulerFactoryBean、CronTriggerFactoryBean、
JobDetailFactoryBean
2)根据权限组corpid、secret获取微信令牌
注:①、此处需实现X509TrustManager接口
因为客户端要信任服务器端证书有两种方式,一是将服务器端的证书导入到客户端TrustStroe文件中,二是实现X509TrustManager接口即可;
②、封装了一个方法,调用微信url返回jsonObject或向微信写入信息
3)xml、JSONObject、Object的相互转换
获取所有已关注成员列表xml,并转化为用户对象
Object转换为xml后调用微信发送消息接口url
4.微信菜单链接
1)OAuth2.0鉴权实现
原因:click只能返回图文消息后传递用户信息,直接链接无法传递用户信息,OAuth直接跳转页面并返回用户信息
①配置微信鉴权链接,链接包含跳转链接地址,该地址需经过一次encode
②通过配置的servlet得到code,根据code和token获得用户信息
③跳转页面