這篇文章主要詳解微信小程式登陸流程的相關資料,需要的朋友可以參考下
#微信小程式登陸流程
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,其他不變,組裝成完整的位址。
例如:
#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.wxapp-union.com/forum.php?mod=viewthread&tid=495
#5:js_code如何取得呼叫wx.login()介面就可取得登入憑證(js_code)
微信小程式取得session_key和openId(加解密、簽章系列)
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中文網其他相關文章!