1:session_key和openId是什么?session_key
官方說明為:
session_key是微信服務(wù)器生成的針對用戶數(shù)據(jù)進行加密簽名的密鑰
session_key的用途
(1)對wx.getUserInfo()接口得到“用戶信息中的密文”進行解密。
(2)對它“稍作處理”,用作維護小程序的登錄態(tài)。
“稍微處理”大體為:
(1)生成一個隨機數(shù)(官方把他叫做3rd_session)
(2)把這個隨機數(shù)當(dāng)session的key,session_key + openid為value。
即:session[3rd_session]=session_key+openid
openIdopenId:用戶唯一標(biāo)識
即:每個微信用戶在你的小程序的唯一的標(biāo)識。
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:在“瀏覽器打開此地址”或者“在后臺模擬瀏覽器的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)
獲得方法:小程序后臺登錄網(wǎng)址:https://mp.weixin.qq.com/
打開小程序后臺網(wǎng)址、注冊、登錄后,按如下圖所示就可找到你的AppID和AppSecret。
注意:目前小程序個人不能注冊,開放注冊范圍:企業(yè)、政府、媒體、其他組織;
當(dāng)然用這個辦法,個人也能注冊了。
傳送門: http://www.wxapp-union.com/forum.php?mod=viewthread&tid=495
5:js_code如何獲得調(diào)用wx.login()接口就可獲取登錄憑證(js_code)
6:總結(jié)整個session_key獲取的流程(1)注冊微信小程序、登錄后臺在設(shè)置中獲得appId和secret(密鑰)
(2)調(diào)用wx.login()接口獲取登錄憑證js_code
(3)調(diào)用wx.request()接口把js_code發(fā)送到服務(wù)器后臺
(4)在服務(wù)器后臺,已知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ù)