如何解决php微信登录41001错误问题

藏色散人
发布: 2022-01-11 09:10:00
原创
4991人浏览过
php微信登录41001错误的解决办法:1、查看日志;2、通过stripslashes去掉反斜杠;3、通过json_decode进行解码即可。

如何解决php微信登录41001错误问题

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

如何解决php微信登录41001错误问题?

小程序登录解密用户数据encryptedData -41001: encodingAesKey 非法

做小程序微信授权登录遇到的坑,困扰终于解决了

立即学习PHP免费学习笔记(深入)”;

现在分享一下,问题解决思路。

问题:

做小程序微信授权登录,先获取code,然后去获取到session_key和open_id,再拿到encryptedData,传到服务器去解密拿到用户信息,但是有时成功,有时返回-41001错误, 观察日志,都有获取到session_key,这是什么原因造成的,应该怎么去解决呢?

解决方法:

Videoleap
Videoleap

Videoleap是一个一体化的视频编辑平台

Videoleap 139
查看详情 Videoleap

刚开始考虑的方向一直是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视频教程

以上就是如何解决php微信登录41001错误问题的详细内容,更多请关注php中文网其它相关文章!

相关标签:
php
微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号