很久没做公众号了,最近朋友问关于签名错误的问题,都忘记了。做一下笔记 demo中的地址是我花生壳的地址,需要测试的自己搞个花生壳或者处理一个hosts。appid到这里申请测试号
DEMO
概要
- 服务:Eggjs, redis(win可以用phpstudy方便,mac homebrew安装)
- 工具:花生壳(可以使用其他内网穿透或者修改hosts)
接口配置信息
这里有个需要注意的地方:验证通过后, 返回过去的echostr,不要写成对象啥的,就这个字符串,不然会配置失败
// 验证是否经过微信服务器
async verifyWechat() {
try {
const { ctx, service } = this
const { signature, echostr, timestamp, nonce } = ctx.query
const verifyRes = await service.wechat.verifySignature(timestamp, nonce, signature)
if (verifyRes) {
// echostr 把这个返回给微信,其他的什么都不要
ctx.body = echostr
}
} catch (error) {
console.log(error)
}
}
授权登录的问题
- Scope参数错误或没有Scope权限解决方法
没有配置接口,找到接口配置,把回调的地址填上去,注意不要填http - redirect_uri错误
查看回调地址是否写错了,这个跳转的地址是需要http或者https的和上面的配置的不一样 - 签名错误问题 主要关注文档附录5-常见错误及解决方法这几个问题是否出错,基本可以解决。