首頁 >後端開發 >php教程 >thinkphp5微信公眾號token認證

thinkphp5微信公眾號token認證

不言
不言原創
2018-04-19 14:38:284000瀏覽

這篇文章介紹的內容是關於thinkphp5微信公眾號token認證,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

首先說明本人開發微信公眾號是用的thinkphp5框架,如果不用框架可以說開發起來很麻煩,本人開始在Ubuntu環境下開發,後來遇到問題實在無法解決導致換到windows 開發環境下開發,免去了很多麻煩使用的notepad 作為編輯器,這個編輯器功能很強大,thinphp5下載地址在這裡:http://www.thinkphp.cn/down.html,我下載的是核心板,可以依照個人喜好自行下載;

下面也要介紹其他配置,首先你要註冊一個公眾號,然後自己能登錄,如下圖所示:


#這是進入介面之後,詳細的註冊過程就不在贅述了比較簡單可以查看微信開發文件:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5,可以根據需要點擊查看,這裡要說一下如果是個人用戶就選擇訂閱號,如果是企業用就選擇服務號,不過都需要認證後才能使用,個人要實名制,企業要企業認證具體認,申請完併登陸後進入如下圖所示頁面,然後點擊左下角的基本配置:


#進入設定頁面如下圖:


上面這個是已經配置好的,如果沒有配置,圖中的停用符號顯示的啟用字樣,並且下面的資訊都未填寫,首先你要點擊修改配置,然後填寫伺服器url位址,這個位址必須是外網能夠存取的,這裡要用的一個軟體叫natapp,具體連結是:https://natapp.cn/ login; 進去之後註冊一下,而且要實名制認證之後才能購買通道,可以購買免費的通道,然後按著教程來操作就能將自己的電腦作為開發環境,當然你也可以申請購買其他伺服器如阿里雲,新浪雲、騰訊雲等等;

#在做微信開發之前要用到驗證自己開發者身份,微信開發團隊給了一個認證環節即:1)將token、timestamp、nonce三個參數進行字典序排序2)將三個參數字串拼接成一個字串進行sha1加密3)開發者獲得加密後的字符串可與signature對比,標識該請求來自微信;這三個請求;其實很簡單,查看微信公眾開發文檔,裡面也有源代碼,下面我們上代碼:

public function index(){
		$timestamp = $_GET['timestamp'];		
        $nonce     = $_GET['nonce'];
        $token     = '你定义的token令牌';
        $signature = $_GET['signature'];
        $array     = array($timestamp,$nonce,$token);
        sort($array);
        //将排序后的三个参数拼接之后参数拼接之后进行sha1加密
        $tmpstr    = implode('',$array);
        $tmpstr    = sha1($tmpstr);$this->wxLog('hello');
        //将加密后的字符串与signature进行对比;
        if($tmpstr == $signature && isset($_GET['echostr'])){
                echo $_GET['echostr'];
                exit;
        }else{
			
			$this->responseMsg();
		
		}
	}

·簡單說明,在這裡我簡單加了一個判斷,如果我不是驗證token我只是來接入並相應微信的,我就會不必要在進行驗證了,而且如果不是token驗證微信伺服器也不會發送echostr這個字段的數據,所以如果沒有這個數據我們就進行相關操作比如響應信息等等;如果token認證失敗,請檢查文件存放路徑對不對,自己的程式碼有沒有問題,我當初是走了很多彎路,才認證成功的,第一次認證失敗不要緊,多點擊幾次就可以了;

#

當你申請完natapp並完成內透之後,將網址填入url處,注意:這個網址要能直接存取你的接口檔案就是上面那串程式碼的檔案;然後寫一下你定義的token令牌,在上面程式碼出填寫,然後隨機產生一個“訊息加解密金鑰”,產生之後點選提交,第一次可能認證失敗,多點擊幾次,如果出現認證失敗的現像要仔細檢查自己的代碼和url,我當初是url填寫的不對導致一直認證失敗,所以一定要填寫正確的url地址,提交成功之後就可以繼續開發你的功能了~!

相關推薦:

#thinkPHP5.0框架獨立配置與動態設定方法

thinkphp 隱藏index.php iis apache nginx

#php微信公眾號開發,取得使用者微信個人資訊




##

以上是thinkphp5微信公眾號token認證的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn