微信小程序授權登錄 -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,有時候你會比服務端快,有時候你會比服務端慢,所以就出現了偶然性

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章