这篇文章主要介绍“怎么解决PHP微信登录41001错误问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么解决php微信登录41001错误问题”文章能帮助大家解决问题。php微信登录41001错误
这篇文章主要介绍“怎么解决PHP微信登录41001错误问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么解决php微信登录41001错误问题”文章能帮助大家解决问题。
php微信登录41001错误的解决办法:1、查看日志;2、通过stripslashes去掉反斜杠;3、通过JSON_decode进行解码即可。
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
如何解决php微信登录41001错误问题?
小程序登录解密用户数据encryptedData -41001: encodingAesKey 非法
问题:
做小程序微信授权登录,先获取code,然后去获取到session_key和open_id,再拿到encryptedData,传到服务器去解密拿到用户信息,但是有时成功,有时返回-41001错误, 观察日志,都有获取到session_key,这是什么原因造成的,应该怎么去解决呢?
解决方法:
刚开始考虑的方向一直是session_key过期之类的,因为不知道session_key的过期,后经多次试验知道不是此原因导致
然后开始翻阅各种相关博客及搜索相关问题,终没有找到解决方案,可能是出现的这个问题太不应该了,所以这方面的问题并不多
最后开始翻看解密的SDK源码,然后发现-41001是的原因 是验证了session_key的长度
if (strlen($this->sessionKey) != 24) { return ErrorCode::$IllegalAesKey;}//public static $IllegalAesKey = -41001;//>-41001: encodingAesKey 非法
最后又细细去看日志(之前也有详细对比session_key,只是看有值,一大串字符,也不懂其中的深意,就知道有的成功,有的失败,根本找不到规律),留意session_key长度,才看出来其中的猫腻
PHP的json字符串有时候加上反斜杠”\”来转义,PHP处理时需要先去掉反斜杠,然后再json_decode
$str = stripslashes($json); $arr = json_decode($str,true);
使用stripslashes()函数,问题解决!
关于“怎么解决php微信登录41001错误问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网PHP编程频道,小编每天都会为大家更新不同的知识点。
--结束END--
本文标题: 怎么解决php微信登录41001错误问题
本文链接: https://www.lsjlt.com/news/306825.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0