微信小程序授权登录 -41003: aes 加密数据解密失败问题


在微信小程的开发中,登录问题,一定要按照这样的顺序:

1.小程序请求login,拿到code 然后传给服务端

2.服务端拿到code 到微信服务器拿到sessionKey

3.然后小程序调用getuserinfo接口拿到encryptedData,iv,然后给服务端

4.服务端拿到客户端的encryptedData,vi还有之前的sessionKey去解密得到 unionId等用户信息

注意:客户端上传的encryptedData需要encodeURIComponent方法进行URL编码,对应服务端需要URL解码
小程序:

encodeURIComponent(data.encryptedData);//一定要把加密串转成URL编码

服务端:

<?php
//php 端接受数据 时做url解码
$encryptedData=urldecode($_GET["encryptedData"]);

不然就会出现你这样的问题,你这种情况偶然出现的原因就是 你在服务端还未去获取sessionKey的时候你就去调用了getuserinfo,有时候你会比服务端快,有时候你会比服务端慢,所以就出现了偶然性

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM