您好,登錄后才能下訂單哦!
在做微信網(wǎng)頁開發(fā)過程中,要使用微信的JSD接口,需要完成簽名效驗(yàn)才行。但是很多人在簽名過程中會(huì)遇到各種各樣的問題,簡直心態(tài)爆炸,那要如何正確的完成接口的簽名呢?
首先,登錄微信公眾號(hào)后臺(tái),設(shè)置js安全域名。
第二,要在頁面中引入微信的js-sdk。
第三步,通過config接口注入權(quán)限驗(yàn)證配置。
參數(shù)當(dāng)中,timestamp是一個(gè)時(shí)間戳字符串,可以直接在網(wǎng)上搜轉(zhuǎn)換工具,將某個(gè)時(shí)間轉(zhuǎn)換成時(shí)間戳,這個(gè)時(shí)間不一定是要當(dāng)前的,只有是最近幾天的都行。nonceStr是隨機(jī)串,可以隨意填一個(gè)字符串,但要確保之后的字符串都是同一個(gè)。sinature是生成的簽名,這個(gè)簽名怎么生成呢?
這個(gè)要先獲取access_token、jsapi_ticket。
先獲取access_token,然后通過access_token獲取jsapi_ticket。不管是ccess_token還是jsapi_ticket,都有一個(gè)存活期,大約是7200秒,在存活期內(nèi),最好不好重復(fù)獲取,因?yàn)闀?huì)造成混亂??梢杂脭?shù)據(jù)庫或者文件把獲取的ccess_token、jsapi_ticket保存下來,然后代碼規(guī)定在7200秒的某個(gè)時(shí)間內(nèi)重新獲取,以免ccess_token、jsapi_ticket過期,獲取的時(shí)間最好是存活期結(jié)束前的5分鐘,也是6900秒左右。
獲取了jsapi_ticket后,通過請求接口返回signature也就是簽名。至于接口是哪個(gè),可以找微信開發(fā)文檔,里面寫的很詳細(xì)。此接口需要的參數(shù)有:
計(jì)算簽名需要幾個(gè)參數(shù):
1、noncestr(隨機(jī)字符串),與前端配置一致
2、有效的jsapi_ticket,
3、timestamp(時(shí)間戳), 與前端配置一致
4、url(當(dāng)前網(wǎng)頁的URL,不包含#及其后面部分),注意在某些程序中url中的某些字符會(huì)被會(huì)轉(zhuǎn)化,造成后臺(tái)接收的url與頁面url不一致導(dǎo)致簽名無效。
生成了簽名后,在前端配置后,一般就可以了。
我的php網(wǎng)站:kq.dbmkq.com
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。