开发微信微信官方账号时,会遇到一系列问题。今天,我们来谈谈如何获取访问令牌。
最近忙着微信微信官方账号对接的开发。之前没碰过这一块,觉得很简单。
第一步:填写服务器配置
登录微信公众平台官网后,在公众平台官网的开发-基础设置页面,勾选成为开发者的协议,点击“修改配置”按钮,填写服务器地址(URL)、Token、EncodingAESKey,其中URL为开发者接收微信消息和事件所使用的接口URL。开发人员可以随意填写令牌来生成签名(令牌将与接口网址中包含的令牌进行比较,以验证安全性)。EncodingAESKey由开发人员手动填写或随机生成,将用作消息正文的加密和解密密钥。
同时,开发人员可以选择消息加密和解密模式:明文模式、兼容模式和安全模式。模式选择和服务器配置将在提交后立即生效。请认真填写和选择。
第二步:验证消息的确来自微信服务器
开发者提交信息后,微信服务器会向填写好的服务器地址URL发送GET请求。下表显示了获取请求的参数:
参数
形容
签名
微信加密签名,signature将开发者填写的令牌参数与请求中的时间戳参数和nonce参数相结合。
时间戳
印时戳
目前
随机数字
echostr
随机字符串
开发人员通过验证签名来验证请求(下面有一些验证方法)。如果确认GET请求来自微信服务器,请原样返回echostr参数内容,则访问有效,成功成为开发者,否则访问失败。加密/验证过程如下:
1)按照字典顺序对令牌、时间戳和随机数三个参数进行排序。
2)将三个参数串拼接成一个字符串进行sha1加密
3)开发者获得的加密字符串可以与签名进行比较,识别请求来自微信。
验证签名的JAVA示例代码:
第三步:依据接口文档实现业务逻辑
成功验证URL的有效性后,访问生效,成为开发人员。可以在公众平台网站申请微信认证。身份验证成功后,您将获得更多的接口权限,以满足更多的业务需求。
成为开发者后,每次用户发消息到微信官方账号,或者生成自定义菜单,或者生成微信支付订单等。开发者填写的服务器配置URL会得到微信服务器推送的消息和事件,开发者可以根据自己的业务逻辑进行响应,比如回复消息。