微信⼩程序开发消息推送配置教程
微信⼩程序开发消息推送配置这⼀块⽹上都是PHP居多,由于⽤egg.js写了⼀套验证⽅法。
第⼀步:填写服务器配置
登录微信⼩程序官⽹后,在⼩程序官⽹的“设置-消息服务器”页⾯,管理员扫码启⽤消息服务,填写服务器地址(URL)、Token 和EncodingAESKey。
URL是开发者⽤来接收微信消息和事件的接⼝URL。 Token可由开发者可以任意填写,⽤作⽣成签名(该Token会和接⼝URL中包含的Token进⾏⽐对,从⽽验证安全性)。 EncodingAESKey由开发者⼿动填写或随机⽣成,将⽤作消息体加解密密钥。
同时,开发者可选择消息加解密⽅式:明⽂模式、兼容模式和安全模式。可以选择消息数据格式:XML格式或JSON格式。加密⽅式的默认状态是明⽂格式,⽽数据格式的默认状态是XML格式。
模式的选择与服务器配置在提交后都会⽴即⽣效,请开发者谨慎填写及选择。
第⼆部:验证消息来⾃微信服务端
开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所⽰:
参数 描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串
开发者通过检验signature对请求进⾏校验(下⾯有校验⽅式)。若确认此次GET请求来⾃微信服务器,请原样返回echostr参数内容,则接⼊⽣效,成为开发者成功,否则接⼊失败。加密/校验流程如下: 1、将token、timestamp、nonce三个参数进⾏字典序排序 2、将三个参数字符串拼接成⼀个字符串进⾏sha1加密 3、开发者获得加密后的字符串可与signature对⽐,标识该请求来源于微信
要注意的是签名验证通过之后,要返回的echostr字段是字符串,⽽不是对象。如果返回写的是 ctx.body = { echostr }就会显⽰token验证失败。
第三步:依据接⼝⽂档实现业务逻辑
验证URL有效性成功后即接⼊⽣效,成为开发者。⾄此⽤户向⼩程序客服发送消息、或者进⼊会话等情况时,开发者填写的服务器配置URL 将得到微信服务器推送过来的消息和事件,开发者可以依据⾃⾝业务逻辑进⾏响应。
此时的路径和你填写的URL⼀致,但是验证的时候是get请求,此时发送消息是post请求。
posted on 2023-05-21 22:16 zhangzongshan 阅读(425) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
2021-05-21 leader-line问题总结
2019-05-21 jsPlumb 基本概念
2019-05-21 jsplumb 流程图,常用功能配置记录
2019-05-21 nodejs生成UID(唯一标识符)——node-uuid模块
2019-05-21 jsplumb