微信 jssdk 错误config invalid signature
发布于 1个月前 作者 pasicopan 449 次浏览 来自 问答

如题 已经参考过http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 里面6条提示 唯一不同就是url 不是动态获取,但我的测试链接肯定不会变的呀。 下面是代码,参考了官方说明文档的nodejs demo (我是使用nodejs+express+ubuntu+腾讯云)

var raw = function(args) {
            var keys = Object.keys(args);
            keys = keys.sort()
            var newArgs = {};
            keys.forEach(function(key) {
                newArgs[key.toLowerCase()] = args[key];
            });

            var string = '';
            for (var k in newArgs) {
                string += '&' + k + '=' + newArgs[k];
            }
            string = string.substr(1);
            return string;
        };
var sign = function(ticket, url, noncestr, timestamp) {
            var ret = {
                jsapi_ticket: ticket,
                noncestr: noncestr,
                timestamp: timestamp,
                url: url
            };
            // console.log('ret is:', ret)
            // console.log('noncestr is:', noncestr)
            var string = raw(ret);
            shaObj = new jsSHA(string, 'TEXT');
            ret.signature = shaObj.getHash('SHA-1', 'HEX');


            return ret.signature;
        };
4 回复

楼主估计没有考虑到,从微信朋友圈或者聊天分享点过来都会被带上尾巴的,如果不去动态获取url参数然后拼接签名的话就会一直卡在这个问题了

@zieglar 我测试的时候,不是从微信朋友圈或者聊天分享点过来,可以确保是固定网址了吧

@pasicopan 但是你正式上线以后会遇到这个问题的

回到顶部