微信網頁開發如何完成簽名校驗

在做微信網頁開發過程中,要使用微信的JSD接口,需要完成簽名效驗才行。但是很多人在簽名過程中會遇到各種各樣的問題,簡直心態爆炸,那要如何正確的完成接口的簽名呢?

首先,登錄微信公衆號後臺,設置js安全域名。

第二,要在頁面中引入微信的js-sdk。
第三步,通過config接口注入權限驗證配置。

參數當中,timestamp是一個時間戳字符串,可以直接在網上搜轉換工具,將某個時間轉換成時間戳,這個時間不一定是要當前的,只有是最近幾天的都行。nonceStr是隨機串,可以隨意填一個字符串,但要確保之後的字符串都是同一個。sinature是生成的簽名,這個簽名怎麼生成呢?

這個要先獲取access_token、jsapi_ticket。
先獲取access_token,然後通過access_token獲取jsapi_ticket。不管是ccess_token還是jsapi_ticket,都有一個存活期,大約是7200秒,在存活期內,最好不好重複獲取,因爲會造成混亂。可以用數據庫或者文件把獲取的ccess_token、jsapi_ticket保存下來,然後代碼規定在7200秒的某個時間內重新獲取,以免ccess_token、jsapi_ticket過期,獲取的時間最好是存活期結束前的5分鐘,也是6900秒左右。

獲取了jsapi_ticket後,通過請求接口返回signature也就是簽名。至於接口是哪個,可以找微信開發文檔,裏面寫的很詳細。此接口需要的參數有:

計算簽名需要幾個參數:
1、noncestr(隨機字符串),與前端配置一致

2、有效的jsapi_ticket,

3、timestamp(時間戳), 與前端配置一致

4、url(當前網頁的URL,不包含#及其後面部分),注意在某些程序中url中的某些字符會被會轉化,造成後臺接收的url與頁面url不一致導致簽名無效。

生成了簽名後,在前端配置後,一般就可以了。
我的php網站:kq.dbmkq.com

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