用戶登錄態(tài)簽名
小程序的一部分后臺(HTTP)接口要求驗證用戶登錄態(tài)。開發(fā)者在調(diào)用時需提供以session_key為密鑰生成的簽名。其中session_key是指通過wx.login 獲得的登錄態(tài)。
簽名算法
目前支持的簽名算法是 hmac_sha256。 對于POST請求,開發(fā)者生成簽名的算法是:
signature = hmac_sha256( post_data, session_key )
其中post_data為本次POST請求的數(shù)據(jù)包。特別地,對于GET請求,post_data等于長度為0的字符串。
signature = hmac_sha256( "", session_key )
簽名示例
例如開發(fā)者需要請求的HTTP(POST)接口,其中請求包為一個json字符串。
curl -d '{"foo":"bar"}' 'https://api.weixin.qq.com/some_api?access_token=xxx&openid=xxx&signature=???&sig_method=hmac_sha256'
開發(fā)者需要計算出signature參數(shù)。假設(shè)用戶當前有效的session_key 為 :
'o0q0otL8aEzpcZL/FT9WsQ=='
則開發(fā)者生成簽名應(yīng)該是
hmac_sha256('{"foo":"bar"}', 'o0q0otL8aEzpcZL/FT9WsQ==') = 654571f79995b2ce1e149e53c0a33dc39c0a74090db514261454e8dbe432aa0b
開發(fā)者服務(wù)器發(fā)起的HTTP請求
curl -d '{"foo":"bar"}' 'https://api.weixin.qq.com/some_api?access_token=xxx&openid=xxx&signature=654571f79995b2ce1e149e53c0a33dc39c0a74090db514261454e8dbe432aa0b&sig_method=hmac_sha256'
session_key 合法性校驗
我們提供接口供開發(fā)者校驗服務(wù)器所保存的登錄態(tài)session_key是否合法。 為了保持session_key私密性,我們提供的校驗接口本身不直接明文session_key,而是通過校驗登錄態(tài)簽名完成。
接口地址
請求方法:GET
https://api.weixin.qq.com/wxa/checksession?access\_token=ACCESS\_TOKEN&signature=SIGNATURE&openid=OPENID&sig\_method=SIG\_METHOD
調(diào)用示例
curl -G 'https://api.weixin.qq.com/wxa/checksession?access_token=OsAoOMw4niuuVbfSxxxxxxxxxxxxxxxxxxx&signature=fefce01bfba4670c85b228e6ca2b493c90971e7c442f54fc448662eb7cd72509&openid=oGZUI0egBJY1zhBYw2KhdUfwVJJE&sig_method=hmac_sha256'
參數(shù)說明
參數(shù)必填說明
access_token是接口調(diào)用憑證
openid是用戶唯一標識符
signature是用戶登錄態(tài)簽名
sig_method是用戶登錄態(tài)簽名的哈希方法
buffer是托管數(shù)據(jù),類型為字符串,長度不超過1000字節(jié)
返回結(jié)果
正確時的返回JSON數(shù)據(jù)包如下:
{"errcode":0,"errmsg":"ok"}
錯誤時的返回JSON數(shù)據(jù)包如下(示例為簽名錯誤):
{"errcode":87009,"errmsg":"invalid signature"} 點擊了解更多 小程序游戲開發(fā)教程。
KESION 科汛軟件
KESION 科汛軟件是國內(nèi)領(lǐng)先的在線教育軟件及私域社交電商軟件服務(wù)提供商,長期專注于為企業(yè)提供在線教育軟件及社交電商SaaS平臺解決方案。
公司核心產(chǎn)品云開店SaaS社交電商服務(wù)平臺、在線教育SaaS服務(wù)平臺、教育企業(yè)數(shù)字化SaaS云平臺、企微營銷助手、私有化獨立部署品牌網(wǎng)校和在線教育咨詢等。KESION 不斷通過技術(shù)創(chuàng)新,提供產(chǎn)品和服務(wù),助力企業(yè)向數(shù)字化轉(zhuǎn)型,通過科技驅(qū)動商業(yè)革新,讓商業(yè)變得更智慧!
"離線包"機制 微信 小程序 采用的是類似離線包加載方案,以 轉(zhuǎn)轉(zhuǎn) 小程序為例,當用戶第一次打開時會先下載好所有代碼,然后再加載頁面;當用戶再次進入轉(zhuǎn)轉(zhuǎn)小程序時,會直接使用...
什么叫微信 小程序 插件呢?作為移動端的程序員肯定很熟悉這么一個概念,那就是開源庫,尤其是 Android 開發(fā)的時候使用 gradle 遠程依賴開源庫,沒錯,微信小程序插件就是相當于遠程...