在微信小程序的开发中,授权登录的时候,一定要按照这样的顺序:
1、小程序请求login,拿到code然后传给服务端;
2、服务端拿到code到微信服务器换取sessionKey;
3、然后小程序调用getuserinfo接口拿到encryptedData和iv传给服务端;
4、服务端拿到客户端的encryptedData和vi还有之前的sessionKey去解密得到unionId等用户信息。
不然就会出现解密失败的问题,这种情况偶然出现的原因就是你在服务端还未去获取sessionKey的时候你就去调用了getuserinfo,有时候你会比服务端快,有时候你会比服务端慢,所以就出现了偶然性。