微信開發(fā)者中心如何配置
微信開發(fā)者中心如何配置
微信開發(fā)者中心配置是怎么樣的呢,那么微信開發(fā)者中心又是如何配置的呢?下面是學(xué)習(xí)啦小編收集整理的微信開發(fā)者中心如何配置,希望對大家有幫助~~
微信開發(fā)者中心配置的方法
工具/原料
一臺電腦和一個微信公眾號
需要再SEA上部署環(huán)境
方法/步驟
從微信公眾平臺打開`開發(fā)者服務(wù)中心`連接,https://mp.weixin.qq.com第一次打開時會提示用戶注冊成為開發(fā)者,接受協(xié)議,成為開發(fā)者.
接受協(xié)議以后會出現(xiàn)配置選項(xiàng).平臺為我們生成了`AppID`,`AppSecret`這些字段.我們需要點(diǎn)擊`修改配置`對`服務(wù)器配置`區(qū)塊進(jìn)行配置.在此期間,可能會出現(xiàn)信息不全,需要補(bǔ)齊信息的提示,這時候去上傳一個公眾號的頭像就OK了.`URL(服務(wù)器地址)`指的是我們公眾號的服務(wù)的地址,也就是我們之前申請好的SAE的服務(wù)域名,如果忘記可以去sAE控臺查看,我這里的是 http://weixinshow001.sinaapp.com`Token(令牌)`相當(dāng)于微信服務(wù)器和我們自己的服務(wù)器之間交流的一個約定,用于確定我們的服務(wù)器接收到的消息確實(shí)是微信的服務(wù)器發(fā)出的.我這里填寫為weixin.`EncodingAESKey(消息加解密密鑰)`信息加密密鑰.隨機(jī)生成就可以了.填寫完成后點(diǎn)擊提交.這時候會提示`token`驗(yàn)證失敗.
token驗(yàn)證失敗的原因是,我們在SAE上還未對token進(jìn)行驗(yàn)證.我們在`微信公眾號`的接入指南http://mp.weixin.qq.com/wiki/17/ ... 70a95559800f2d.html中可以看到token的驗(yàn)證方式,并且提供了驗(yàn)證的示例代碼.
開發(fā)者提交信息后,微信服務(wù)器將發(fā)送GET請求到填寫的服務(wù)器地址URL上,GET請求攜帶四個參數(shù):參數(shù) 描述signature 微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。timestamp 時間戳nonce 隨機(jī)數(shù)echostr 隨機(jī)字符串開發(fā)者通過檢驗(yàn)signature對請求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請求來自微信服務(wù)器,請?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失敗。加密/校驗(yàn)流程如下:1. 將token、timestamp、nonce三個參數(shù)進(jìn)行字典序排序2. 將三個參數(shù)字符串拼接成一個字符串進(jìn)行sha1加密3. 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識該請求來源于微信
現(xiàn)在我們需要編寫SAE主頁的代碼,實(shí)現(xiàn)token的驗(yàn)證功能.打開利用SVN抓取到本地的代碼,找到`index.php`文件,并使用文本編輯器打開,在文本編輯器中輸入如下代碼:
define("TOKEN","weixin");
function checkSignature()
{
//從GET參數(shù)中讀取三個字段的值
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
//讀取預(yù)定義的TOKEN
$token = TOKEN;
//對數(shù)組進(jìn)行排序
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
//對三個字段進(jìn)行sha1運(yùn)算
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
//判斷我方計(jì)算的結(jié)果是否和微信端計(jì)算的結(jié)果相符
//這樣利用只有微信端和我方了解的token作對比,驗(yàn)證訪問是否來自微信官方.
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
if(checkSignature()){
echo $_GET["echostr"];
}
else{
echo 'error';
}
復(fù)制代碼
要注意,保存后只是儲存在本地了,并沒有在SAE的服務(wù)器上起作用,我們需要用svn提交代碼到svn倉庫,相應(yīng)的更改才能生效!用svn提交代碼到svn倉庫,相應(yīng)的更改才能生效!用svn提交代碼到svn倉庫,相應(yīng)的更改才能生效!(重要的事情說三遍).最近有朋友指出,這個驗(yàn)證不通過.可能是由于用戶沒有通過SAE的實(shí)名認(rèn)證,當(dāng)用戶沒有通過實(shí)名認(rèn)證時,SAE會在返回的消息里加上一些小尾巴,這樣導(dǎo)致了返回給微信服務(wù)器的字符串不能匹配,出現(xiàn)了驗(yàn)證不通過的問題.
重新提交微信配置信息,這時候我們的提交會顯示成功.然后點(diǎn)擊`啟用`按鈕,微信公眾號的處理將全部轉(zhuǎn)由我們的SAE服務(wù)器處理.ps:a. SAE可以看到訪問日志,在`應(yīng)用控臺`的`日志中心`標(biāo)簽下,我們能看到每次訪問的數(shù)據(jù),這對于我們調(diào)試配置不通過出現(xiàn)的錯誤有一定的用處.b. 在日志中心我們可以看到微信服務(wù)器訪問的url參數(shù),我們可以直接使用瀏覽器來直接GET這個url以便在頁面中輸出我們需要的調(diào)試數(shù)據(jù).
微信開發(fā)者中心如何配置相關(guān)文章: