由于wx.getUserInfo接口不能再获取到用户昵称等信息,所以我们改为调用wx.getUserProfile,前端将encryptedData, iv等信息传给后端,后端通过encryptedData, iv以及sessionKey进行解密,结果发现有些是正常的,有些解密异常。
正常结果应该是{"nickName":"冰","gender":1,"language":"zh_CN","city":"深圳","province":"广东","country":"中国","avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/ffuhpBJWUsB21sEschjUic4Ej7mthjt6T5hibYbOZctlm7UuUTxoYz5xkk3DeI4MS6Tdqsy0u2la0XbTEvseh1rg/132","watermark":{"timestamp":1620379788,"appid":"wxd52402ee62771eaa"}}
异常的结果是一堆乱码,然后我反序列化后就报错com.alibaba.fastjson.JSONException: syntax error, expect {, actual error
有没有人遇到这个问题,求解答
你真是我的亲哥。人家这个api都给你返回明文了你为啥还走解密。如果非要走解密的话每次调用之前记得调一下login
确保wx.getUserProfile之前调用ux.login就不会出现偶发性的解密失败
解决了吗