首先向大家介紹下小程式。
小程式是一種不需要下載安裝即可使用的應用,它實現了應用程式「觸手可及」的夢想,用戶掃一掃或搜一下即可開啟應用程式。也體現了「用完即走」的理念,用戶不用關心是否安裝太多應用程式的問題。應用程式將無所不在,隨時可用,但無需安裝卸載。
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介面:
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,其他不變,組裝成完整的地址。
例如:
![1H5346002-0](media/14842017330009/1H5346002-0.png)
微信小程式獲得session_key和openId(加解密、簽章系列)
##![1H5345348-1](media/14842017330009/1H5345348-1.png)
3:在「瀏覽器開啟此位址」或「在後台模擬瀏覽器的GET執行此位址」就可傳回如下的JSON資料(包含openid、sessionkey)
微信小程式取得session_key和openId(加解密、簽章系列)
總結:從1, 2,3步驟可知,只要獲得appid,secret,js_code就可得到session_key和openId
4:appid和secret的獲得
# appid為小程式ID
secret為小程式金鑰(AppSecret)
取得方法:小程式後台登入網址:https://mp.weixin.qq.com/
開啟小程式後台網址、註冊、登入後,如下圖所示就可找到你的AppID和AppSecret。
微信小程式獲得session_key和openId(加解密、簽章系列)
注意:目前小程式個人不能註冊,開放註冊範圍:企業、政府、媒體、其他組織;
當然用這個辦法,個人也能註冊了。
傳送門:http://www.moquu.com/v/372.html
#5:js_code如何取得呼叫wx.login()介面就可取得登入憑證(js_code)
微信小程式取得session_key與openId(加上解密、簽章系列)
![1H5344U3-3](media/14842017330009/1H5344U3-3.png)
#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介面位址為:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
以上是小程式登入流程總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!