微信開發者中心如何配置
微信開發者中心配置是怎麼樣的呢,那麼微信開發者中心又是如何配置的呢?下面是小編收集整理的,希望對大家有幫助~~
微信開發者中心配置的方法
工具/原料
一臺電腦和一個微信公眾號
需要再SEA上部署環境
方法/步驟
從微信公眾平臺開啟`開發者服務中心`連線,.
接受協議以後會出現配置選項.平臺為我們生成了`AppID`,`AppSecret`這些欄位.我們需要點選`修改配置`對`伺服器配置`區塊進行配置.在此期間,可能會出現資訊不全,需要補齊資訊的提示,這時候去上傳一個公眾號的頭像就OK了.`URL***伺服器地址***`指的是我們公眾號的服務的地址,也就是我們之前申請好的SAE的服務域名,如果忘記可以去sAE控臺檢視,我這裡的是 .
token驗證失敗的原因是,我們在SAE上還未對token進行驗證.我們在`微信公眾號`的接入指南 ... 70a95559800f2d.html中可以看到token的驗證方式,並且提供了驗證的示例程式碼.
開發者提交資訊後,微信伺服器將傳送GET請求到填寫的伺服器地址URL上,GET請求攜帶四個引數:引數 描述signature 微信加密簽名,signature結合了開發者填寫的token引數和請求中的timestamp引數、nonce引數。timestamp 時間戳nonce 隨機數echostr 隨機字串開發者通過檢驗signature對請求進行校驗***下面有校驗方式***。若確認此次GET請求來自微信伺服器,請原樣返回echostr引數內容,則接入生效,成為開發者成功,否則接入失敗。加密/校驗流程如下:1. 將token、timestamp、nonce三個引數進行字典序排序2. 將三個引數字串拼接成一個字串進行sha1加密3. 開發者獲得加密後的字串可與signature對比,標識該請求來源於微信
現在我們需要編寫SAE主頁的程式碼,實現token的驗證功能.開啟利用SVN抓取到本地的程式碼,找到`index.php`檔案,並使用文字編輯器開啟,在文字編輯器中輸入如下程式碼:
define***"TOKEN","weixin"***;
function checkSignature******
{
//從GET引數中讀取三個欄位的值
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
//讀取預定義的TOKEN
$token = TOKEN;
//對陣列進行排序
$tmpArr = array***$token, $timestamp, $nonce***;
sort***$tmpArr, SORT_STRING***;
//對三個欄位進行sha1運算
$tmpStr = implode*** $tmpArr ***;
$tmpStr = sha1*** $tmpStr ***;
//判斷我方計算的結果是否和微信端計算的結果相符
//這樣利用只有微信端和我方瞭解的token作對比,驗證訪問是否來自微信官方.
if*** $tmpStr == $signature ***{
return true;
}else{
return false;
}
}
if***checkSignature*********{
echo $_GET["echostr"];
}
else{
echo 'error';
}
複製程式碼
要注意,儲存後只是儲存在本地了,並沒有在SAE的伺服器上起作用,我們需要用svn提交程式碼到svn倉庫,相應的更改才能生效!用svn提交程式碼到svn倉庫,相應的更改才能生效!用svn提交程式碼到svn倉庫,相應的更改才能生效!***重要的事情說三遍***.最近有朋友指出,這個驗證不通過.可能是由於使用者沒有通過SAE的實名認證,當用戶沒有通過實名認證時,SAE會在返回的訊息里加上一些小尾巴,這樣導致了返回給微信伺服器的字串不能匹配,出現了驗證不通過的問題.
重新提交微信配置資訊,這時候我們的提交會顯示成功.然後點選`啟用`按鈕,微信公眾號的處理將全部轉由我們的SAE伺服器處理.ps:a. SAE可以看到訪問日誌,在`應用控臺`的`日誌中心`標籤下,我們能看到每次訪問的資料,這對於我們除錯配置不通過出現的錯誤有一定的用處.b. 在日誌中心我們可以看到微信伺服器訪問的url引數,我們可以直接使用瀏覽器來直接GET這個url以便在頁面中輸出我們需要的除錯資料.
旅遊業宣傳營銷策劃方案