1:session_key和openId是什么?session_key
官方說明為:
session_key是微信服務器生成的針對用戶數據進行加密簽名的密鑰
session_key的用途
(1)對wx.getUserInfo()接口得到“用戶信息中的密文”進行解密。
(2)對它“稍作處理”,用作維護小程序的登錄態。
“稍微處理”大體為:
(1)生成一個隨機數(官方把他叫做3rd_session)
(2)把這個隨機數當session的key,session_key + openid為value。
即:session[3rd_session]=session_key+openid
openIdopenId:用戶唯一標識
即:每個微信用戶在你的小程序的唯一的標識。
2:如何獲得session_key和openId官方提供了HTTP接口:
//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:在(zai)“瀏(liu)覽器打(da)開此(ci)地(di)址”或者(zhe)“在(zai)后(hou)臺模擬瀏(liu)覽器的(de)GET執行(xing)此(ci)地(di)址”就可(ke)返回如(ru)下的(de)JSON數(shu)據(ju)(包含openid、sessionkey)

總結:從1,2,3步驟可知,只要獲得appid,secret,js_code就可得到session_key和openId
4:appid和secret的獲得
appid為小程序ID
secret為小程序密鑰(AppSecret)
獲得方法:小程序后臺登錄網址://mp.weixin.qq.com/
打開小程(cheng)序后(hou)臺網址、注(zhu)冊、登錄后(hou),按如下圖所示就可找(zhao)到你的AppID和AppSecret。

注意:目前小程序個人不能注冊,開放注冊范圍:企業、政府、媒體、其他組織;
當然用這個辦法,個人也能注冊了。
傳送(song)門: //www.wxapp-union.com/forum.php?mod=viewthread&tid=495
5:js_code如何獲得調用wx.login()接口就可獲取登(deng)錄(lu)憑證(js_code)

6:總結整個session_key獲取的流程(1)注冊微信小程序、登錄后臺在設置中獲得appId和secret(密鑰)
(2)調用wx.login()接口獲取登錄憑證js_code
(3)調用wx.request()接口把js_code發送到服務器后臺
(4)在服務器后臺,已知appId、secret、js_code
然后調用如下官方提供的http接口,即可返回獲取openId、session_key
官方提供了http接口地址為:
//api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code