thinkphp token失敗怎么辦

thinkphp Token失敗的解決辦法:1、打開微信小程序token校驗代碼;2、在輸出“echostr”前,清空緩存區,也就是在echo前放置“ob_clean();”代碼即可解決token失敗問題。

thinkphp token失敗怎么辦

本教程操作環境:Windows7系統、ThinkPHP5版、Dell G3電腦。

thinkphp token失敗怎么辦?

解決ThinkPHP微信小程序token校驗失敗

今天在做微信小程序的學習,申請了一個小程序賬號,申請步驟:微信小程序開發-注冊賬號。

立即學習PHP免費學習筆記(深入)”;

在進行開發配置過程中,需要填寫服務器信息,校驗token,但是一直是校驗失敗的狀態,看了他人的處理方式,總結出來了辦法,分享出來。

解決辦法:在輸出“echostr”前,清空緩存區,即在echo 前放置“ob_clean();”代碼。

官方解釋:ob_clean()? 此函數用來丟棄輸出緩沖區中的內容;

校驗代碼如下:

/** ?*?微信小程序token校驗 ?*?@return?bool ?*/ public?function?wxtoken() { ????$signature?=?input('get.signature'); ????$timestamp?=?input('get.timestamp'); ????$nonce?=?input('get.nonce'); ????$token?=?'1234567'; ????$tmpArr?=?array($token,?$timestamp,?$nonce); ????sort($tmpArr,?SORT_STRING); ????$tmpStr?=?implode($tmpArr); ????$tmpStr?=?sha1($tmpStr); ????if($tmpStr?==?$signature){ ????????ob_clean(); ????????echo?input('get.echostr'); ????}else{ ????????return?false; ????} }

微信官方對token校驗的說明為:開發者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。

加密/校驗流程如下:

?1、將token、timestamp、nonce三個參數進行字典序排序?

2、將三個參數字符串拼接成一個字符串進行sha1加密

?3、開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信;

推薦學習:《thinkPHP視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享