您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關微信公眾賬號開發之URL和Tocken的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一、URL 和 Tocken 簡介
1、想成為開發者必須要有一個公網的網絡地址(URL),這個網絡地址要求微信公眾平臺可以訪問到,網絡地址的獲取有多種方式:可以借助其他平臺,也可以自己租借服務器(建議自己租一個服務器,因為我們需要部署應用);總之,你要提供出一個公網上的URL;
2、Tocken(標記):Tocken可以隨便填寫一個字符串,在認證的時候使用;
3、認證過程:需要開發者進行編程,所以要在開發者服務器上部署一個應用(提供URL);當公網上的URL被微信訪問時,微信會發送過來一些數據,你的應用要把微信發送過來的數據進行加密,然后用密文和signature比較,如果相同,返回echostr給微信公眾平臺,微信公眾平臺進行校驗,如果正確,那么恭喜你,你的公眾賬號成為成為開發者賬號;
二、驗證流程圖
您已經向微信公眾平臺提供了 URL(開發者服務器網址址) 和 Tocken,下圖是微信公眾平臺認證流程;
從上圖可以看出,主要驗證功能是在開發者服務器這端,其中在開發者服務器這端進行tocken,timestamp,nonce加密認證(sha1加密)的時候,tocken是開發者提供給微信公眾平臺的;如果加密的結果和 微信公眾平臺提供的signature一樣,那么我們就返回echostr給微信公眾平臺;微信公眾平臺進行echostr認證,如果通過,公眾賬號就成為了開發者
三、代碼說明
本人開發用的是python語言,如果你使用的是其他語言,邏輯結構類似,只是實現不同;
@csrf_exempt def wx_valid(request):#提供給微信公眾平臺的url,微信公眾平臺請求url時,會執行此方法 '''微信開發者驗證,是GET請求;GET 和 POST 區分是認證還是發送消息(發送消息的時候是POST)''' if(request.method == 'GET'): tocken='zainanjing6tocken'#提供給微信公眾平臺的tocken,可以保持在數據庫、文件或者直接硬編碼到代碼中; if tocken: timestamp = request.GET['timestamp'] nonce = request.GET['nonce'] signature = request.GET['signature'] echostr = request.GET['echostr'] arr = [tocken,timestamp,nonce] arr.sort() data = '' for s in arr : data += s sha1 = hashlib.sha1() #或hashlib.md5() sha1.update(data) _signature = sha1.hexdigest() #生成40位(sha1)或32位(md5)的十六進制字符串 if _signature == signature : return HttpResponse(echostr)#返回 echostr return HttpResponse('error')#返回 error
以上就是開發者驗證URL和Tocken邏輯流程和源碼了,下面我們就說一下整體的操作流程;
四、操作過程
1、首先在開發者服務器上部署應用,提供出URL 和 Tocken,(此URL要求微信公眾平臺能夠訪問到)
2、把URL 和 Tocken 添加到微信公眾平臺開發者模式中后,微信公眾平臺就會自動請求URL,開發者服務器進行數據驗證(signature驗證),如果驗證通過,返回echostr給微信公眾平臺
3、如果成功成為了開發者賬號,并且公眾賬號的模式調整為 開發者模式 ,那么用戶給公眾賬號發送的消息,就不是由微信公眾平臺進行回復了,微信公眾平臺會將消息轉發給開發者服務器,開發者服務器進行消息回復
至此,URL 和 Tocken的認證就算結束了,如果認證通過了,那么恭喜,你的賬號已經是開發者賬號,下一步必須要做的是開發回復用戶消息的功能,不然用戶接收不到任何消息;
感謝各位的閱讀!關于“微信公眾賬號開發之URL和Tocken的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。