在微信開放社區(qū)發(fā)現(xiàn)了不少同學(xué)都卡在token驗證失敗了,很多都是代碼寫的有問題,本人沒碰到過代碼寫對還失敗的
---- 本文只介紹驗證服務(wù)器地址,其它功能不做描述。----
接入概述
接入微信公眾平臺開發(fā),開發(fā)者需要按照如下步驟完成:
- 填寫服務(wù)器配置(不做描述)
- 驗證服務(wù)器地址的有效性
- 依據(jù)接口文檔實現(xiàn)業(yè)務(wù)邏輯(不做描述)
校驗規(guī)則:
- 將token、timestamp、nonce三個參數(shù)進行字典序排序
- 將三個參數(shù)字符串拼接成一個字符串進行sha1加密
- 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識該請求來源于微信
詳細文檔鏈接,請參考:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
校驗規(guī)則很簡單,照著規(guī)則來就行了。
項目都是本地的,服務(wù)器URL需要外網(wǎng)80端口,所以用了natapp或者花生殼,具體怎么使用百度一下就可以了。
寫了兩個版本的java、nodejs,問題大多數(shù)都是java同學(xué)。為了方便演示沒有提取工具類,token也是沒有寫在配置文件中,僅供參考。
java spring boot示例代碼
修改application.ymlserver.port=80
nodejs egg示例代碼
修改config.default.jsconfig.cluster = { listen: { path: "", port: 80, hostname: "" } }
port改成80端口
egg https://eggjs.org/zh-cn/intro/quickstart.html
代碼經(jīng)過驗證的,都是可以通過token驗證的,有問題還沒解決或者準(zhǔn)備接入認(rèn)證同學(xué),可以參考一下代碼,少走彎路
補充:golang版本