E企盈营销工具技术服务商 热线:4006-838-530

微信小程序消息推送配置Token令牌错误校验失败如何解决

E企盈直播平台营销卖货系统

http://www.wxapp-union.com/article-2771-1.html?utm_source=E企盈小程序招商代理4006-838-530招商代理4006-838-530qun消息推送配置Token令牌错误@Author GQ 2017年07月26日 本想在微信小程序中接入上传图片到阿里云功能,小程序中查询很多资料还是没能将图片转成流上传, 所以无奈只能借助小程序官方API中客服转发功能上传素材间接实现: …h1 id=”微信小程序消息推送配置token令牌错误” style=”margin: 0.8em 0px; padding: 0px; box-sizing: border-box; font-weight: 100; line-height: 1.3em;”[微信小程序]消息推送配置Token令牌错误@Author GQ 2017年07月26日  本想在微信小程序中接入上传图片到阿里云功能,小程序中查询很多资料还是没能将图片转成流上传,所以无奈只能借助小程序官方API中客服转发功能上传素材间接实现:1.将小程序选择的照片上传至微信临时服务器并返回图片url;2.将url返回给自己的后台,后台通过url获取流再上传至阿里OSS;想法挺美好,然而一地坑…1234567891012345678910Token校验失败,请检查确认 如下图URL:填写自己写的接口路径,需要已经调试好并且发布到正式域名地址下才可以; 注意 : 当点击下方的 提交 按钮时,微信会请求一次数据给你的URL地址Token(令牌): 自己随便起个名字就行英文数字3-32字符;EncodingAESKey: 点随机生成吧,省的自己写;加密方式: 兼容就行数据格式: 看个人喜好一般Json吧然后就可以看着 消息配置指南 操作了,这里我详细在用大白话说下,官方给的是PHP的代码…上面说到微信会请求你填写的URL地址,我们先来看下微信这个GET请求的参数请求方式 : GET参数描述signature微信加密签名(不用管他是怎么来的,反正是很长的一串)timestamp时间戳 eg:1501060062nonce随机数 eg:2535181275echostr随机字符串 eg:143242961671755437752. 大概了解了参数我们这个接口就好写多了,我们屡一下这几个参数的处理逻辑;1) 还记得上面自己填写的token吧3-32字符的那个,这里要用到;2) 将timestamp nonce token 这三个参数对应的值进行字典排序;什么是字典排序?3) 排序后将这三个参数对应的值,只要值,拼接成string字符串;4) 将拼接好的字符串SHA1加密,注意要小写字母,假设返回的string我命名为 secret ;5) 比较参数 signature 和 secret 值是否相等;如果相等表示验证成功,并且原封不动的返回 echostr如果不相等表示验证失败,返回写不写哇,你爱咋咋将写好的接口发布到服务器上,然后在微信的消息配置页面填好信息,点击 提交 则会提示成功官方给的PHP,我这二吊子水平用.Net写的代码给大家做参考:    /// summary    /// 微信消息配置    /// /summary    public class GetWxMsg : IHttpHandler    {        private static Logger logger = LogManager.GetCurrentClassLogger();        public void ProcessRequest(HttpContext context)        {            var signature = context.Request[“signature”];            var timestamp = context.Request[“timestamp”];            var nonce = context.Request[“nonce”];            var echostr = context.Request[“echostr”];            logger.Info(“微信消息服务器验证传入数据” + string.Format(“signature:{0},timestamp:{1},nonce:{2},echostr:{3}”, signature, timestamp, nonce, echostr));            var token = “aaaaaaa”;//自定义字段(自己填写3-32个字符)            //timestamp和token和nonce 字典排序            Dictionarystring, string dic = new Dictionarystring, string();            dic.Add(“token”, token);            dic.Add(“nonce”, nonce);            dic.Add(“timestamp”, timestamp);            var list = dic.OrderBy(s = s.Value);            var conbineStr = “”;            foreach (var s in list)            {                conbineStr = conbineStr + s.Value;            }            string data = conbineStr;            //sha1加密            string secret = FormsAuthentication.HashPasswordForStoringInConfigFile(conbineStr, “SHA1”).ToLower();            var success = signature == secret;            if (success)            {                data = echostr;            }            context.Response.ContentType = “text/plain”;            context.Response.Write(data);        }

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序消息推送配置Token令牌错误校验失败如何解决
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏