我是通过云函数的方式,采用sendSms()方法,发送手机验证码。以前使用一直正常,小程序要上线了,为安全起见,重置重置AppSecret,结果出现问题了。
过程再现:
扫码登录微信小程序管理后台----开发管理----开发设置----重置AppSecret,然后我做了两件事:
1、代码中搜索旧的key,对应替换成新的key。
2、云函数重新上传部署依赖。
再测试时,发现手机收不到验证码短信了。
初步检查情况:
1、用新的AppSecret生成Token,成功正常。说明新密码已经生效了。
2、API Explorer调试SendSms,手机能正常收到验证码短信。说明后台业务通道没问题。
3、也尝试对云函数重新安装如下两个依赖,并重新上传云函数部署依赖。
npm install tencentcloud-sdk-nodejs-sms --save
npm uninstall tencentcloud-sdk-nodejs-sms --save
4、从云开发云后台查看,函数调用成功,但提示签名错误"code":"AuthFailure.SignatureFailure",如下图:
5、如果自己填上验证码继续运行小程序业务流程,通过”用于提交的云函数“,可以正常提交表单,将数据存入云数据集合。再一次证明云侧验证没问题。
问提:
这个签名错误怎么解决呢?恳请大侠指点!
或者换个方式提问:
微信小程序在重置AppSecret(小程序秘钥)后,需要做哪些相应处理才能避免身份验证或签名错误的坑?
只是巧合吧