php WeChat ログイン 41001 エラーの解決策: 1. ログを確認します; 2. ストリップスラッシュを使用してバックスラッシュを削除します; 3. json_decode を使用してデコードします。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
方法PHP WeChatログイン41001エラーの問題を解決しますか?
ミニ プログラムのログインでユーザー データの暗号化が解除される暗号化データ -41001: エンコーディング AesKey が不正です
ミニ プログラムの WeChat 認証ログイン時に遭遇した落とし穴、問題はついに解決されました
共有ここで問題解決のためのアイデアをいくつか紹介します。
質問:
ミニ プログラムに対して WeChat 認証ログインを行うには、まずコードを取得し、次に 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 ビデオ チュートリアル以上がPHP WeChatログイン41001エラーの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
