我的解决方法是在使用 wx.login() 之后 再使用 wx.getUserInfo() 获取用户的加密数据,如下: function loginweixin(res) { wx.login({ success: (result) => { wx.getUserInfo({ success: (o) => { fetch("xxx", { data: { code: result.code, encryptedData: o.encryptedData, iv: o.iv, }, }).then((x) => {}); }, }); }, }); }
微信小程序登录,服务端解密有几率-41003服务器是将unionId作为唯一id的,需要使用WXBizDataCrypt.decryptData将encryptedData解密出来。不过在调用WXBizDataCrypt.decryptData的时候总是又会30%的几率解密失败,返回errorCode -41003 服务器端语言:PHP (Laravel框架) 报错为:openssl_decrypt(): IV passed is only 15 bytes long…ects an IV of precisely 16 bytes, padding with \0
2020-07-09