1:session_key和openId是什么?session_key
官方說(shuō)明為:
session_key是微信服務(wù)器生成的針對(duì)用戶(hù)數(shù)據(jù)進(jìn)行加密簽名的密鑰
session_key的用途
(1)對(duì)wx.getUserInfo()接口得到“用戶(hù)信息中的密文”進(jìn)行解密。
(2)對(duì)它“稍作處理”,用作維護(hù)小程序的登錄態(tài)。
“稍微處理”大體為:
(1)生成一個(gè)隨機(jī)數(shù)(官方把他叫做3rd_session)
(2)把這個(gè)隨機(jī)數(shù)當(dāng)session的key,session_key + openid為value。
即:session[3rd_session]=session_key+openid
openIdopenId:用戶(hù)唯一標(biāo)識(shí)
即:每個(gè)微信用戶(hù)在你的小程序的唯一的標(biāo)識(shí)。
2:如何獲得session_key和openId官方提供了HTTP接口:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
獲取步驟:
(1)獲得appid,secret,js_code
(2)用appid,secret,js_code分別替換如上接口地址的APPID、SECRET、JSCODE,其他不變,組裝成完整的地址。
例如:
3:在“瀏覽器打開(kāi)此地址”或者“在后臺(tái)模擬瀏覽器的GET執(zhí)行此地址”就可返回如下的JSON數(shù)據(jù)(包含openid、sessionkey)
總結(jié):從1,2,3步驟可知,只要獲得appid,secret,js_code就可得到session_key和openId
4:appid和secret的獲得
appid為小程序ID
secret為小程序密鑰(AppSecret)
獲得方法:小程序后臺(tái)登錄網(wǎng)址:https://mp.weixin.qq.com/
打開(kāi)小程序后臺(tái)網(wǎng)址、注冊(cè)、登錄后,按如下圖所示就可找到你的AppID和AppSecret。
注意:目前小程序個(gè)人不能注冊(cè),開(kāi)放注冊(cè)范圍:企業(yè)、政府、媒體、其他組織;
當(dāng)然用這個(gè)辦法,個(gè)人也能注冊(cè)了。
傳送門(mén): http://www.wxapp-union.com/forum.php?mod=viewthread&tid=495
5:js_code如何獲得調(diào)用wx.login()接口就可獲取登錄憑證(js_code)
6:總結(jié)整個(gè)session_key獲取的流程(1)注冊(cè)微信小程序、登錄后臺(tái)在設(shè)置中獲得appId和secret(密鑰)
(2)調(diào)用wx.login()接口獲取登錄憑證js_code
(3)調(diào)用wx.request()接口把js_code發(fā)送到服務(wù)器后臺(tái)
(4)在服務(wù)器后臺(tái),已知appId、secret、js_code
然后調(diào)用如下官方提供的http接口,即可返回獲取openId、session_key
官方提供了http接口地址為:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)