新聞中心
本文操作環(huán)境:windows7系統(tǒng)、php7.1版、DELL G3電腦

成都創(chuàng)新互聯(lián)是一家專業(yè)提供海寧企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為海寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
如何解決php微信登錄41001錯(cuò)誤問題?
小程序登錄解密用戶數(shù)據(jù)encryptedData -41001: encodingAesKey 非法
做小程序微信授權(quán)登錄遇到的坑,困擾終于解決了
現(xiàn)在分享一下,問題解決思路。
問題:
做小程序微信授權(quán)登錄,先獲取code,然后去獲取到session_key和open_id,再拿到encryptedData,傳到服務(wù)器去解密拿到用戶信息,但是有時(shí)成功,有時(shí)返回-41001錯(cuò)誤, 觀察日志,都有獲取到session_key,這是什么原因造成的,應(yīng)該怎么去解決呢?
解決方法:
剛開始考慮的方向一直是session_key過期之類的,因?yàn)椴恢纒ession_key的過期,后經(jīng)多次試驗(yàn)知道不是此原因?qū)е?/p>
然后開始翻閱各種相關(guān)博客及搜索相關(guān)問題,終沒有找到解決方案,可能是出現(xiàn)的這個(gè)問題太不應(yīng)該了,所以這方面的問題并不多
最后開始翻看解密的SDK源碼,然后發(fā)現(xiàn)-41001是的原因 是驗(yàn)證了session_key的長(zhǎng)度
if (strlen($this->sessionKey) != 24) {
return ErrorCode::$IllegalAesKey;
}
//public static $IllegalAesKey = -41001;
//>-41001: encodingAesKey 非法
最后又細(xì)細(xì)去看日志(之前也有詳細(xì)對(duì)比session_key,只是看有值,一大串字符,也不懂其中的深意,就知道有的成功,有的失敗,根本找不到規(guī)律),留意session_key長(zhǎng)度,才看出來其中的貓膩
PHP的json字符串有時(shí)候加上反斜杠”\”來轉(zhuǎn)義,PHP處理時(shí)需要先去掉反斜杠,然后再json_decode
$str = stripslashes($json); $arr = json_decode($str,true);
使用stripslashes()函數(shù),問題解決!
*本是一個(gè)小問題,記錄下,給自己長(zhǎng)個(gè)記性
本文題目:如何解決php微信登錄41001錯(cuò)誤問題
網(wǎng)站網(wǎng)址:http://m.fisionsoft.com.cn/article/dpeohso.html


咨詢
建站咨詢
