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

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

成都创新互联是一家专业提供海宁企业网站建设,专注与成都网站建设、成都网站制作、H5技术、小程序制作等业务。10年已为海宁众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

如何解决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错误问题
网址分享:http://www.csdahua.cn/qtweb/news5/147855.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网