微信小程序是張小龍在2017年推出的一款不需要下載就可以是使用的應用,用戶只需掃一下就可以使用軟件,實現(xiàn)了觸手可及,不需要下載,隨用隨走,極其方便,目前也吸引了很多人投入到微信小程序開發(fā)當中來。
其實,這里說的不是微信小程序的授權機制,而是登錄態(tài)的機制。
微信小程序里面的授權,是對特定接口的授權。
微信官方已經給微信小程序封裝了很多API接口。
當調用wx.login()時,就可以向服務器發(fā)起請求,得到code。
在微信公眾號里,是需要搭建者在服務器設置好鏈接的。
客戶端拿到code碼是需要發(fā)送給服務器的,微信不意見客戶端直接向微信發(fā)送code。
在服務器接收到code碼后,再攜帶這appid,secret去訪問微信服務器,微信服務器會返回openid,session_key。
其中:
1.openid是用戶標識。
2.session_key是解密用的。因為有的接口返回來的數(shù)據(jù)是加密的,比如當咱們想獲取unionid時。
當搭建者服務器拿到微信返回的openid,session_key后,會自己生成一個3rd_session (最好和openid相關聯(lián))也可以叫做一個token吧。
然后把這個3rd_session返回給客戶端,并且在服務器的session中存入以3rd_session為key,openid+session_key為value的數(shù)據(jù)。
客戶端接收到這個3rd_session后,也寫入在storage里。這樣用戶重新進入微信小程序后,調用wx.checksession()就可以檢測登錄態(tài)。
另外把這個3rd_session寫入客戶端里,也使得咱們的接口更加合理。
因為有些接口是公共接口,有些接口是需要權限控制的。而這個3rd_session就是用戶的唯一標識符。
1)App登錄前,會進行一次握手建立登錄前的安全信道
至此,AppClient 和 AppServer 之間的登錄前安全信道建立完成,之后一直至操作登錄票據(jù)登錄AppServer之前,AppClient 和 AppServer都操作psk作為密鑰
加密報文,并把密文+ HMac-SHA256的MAC進行Base64Encoding,并帶上temp_uin一并發(fā)送出去。
2)利用微信SSO換取登錄票據(jù)
當用戶點擊微信登錄按鈕時,會觸發(fā)利用微信SSO換取登錄票據(jù)事件。此部分需在登錄前安全信道中進行。
微信小程序功能有哪些?
目前微信小程序的功能有七大功能,包括線下掃碼,消息通知和對公眾號進行關聯(lián),微信小程序和公共號進行關聯(lián),能實現(xiàn)兩者之間的跳轉,這也是小程序不存在入口的原因之一。
以上就是對微信小程序是什么的全部介紹,大商創(chuàng)多用戶商城系統(tǒng)有著多年電商小程序商城系統(tǒng)開發(fā)經驗,如果有商家需要開發(fā)電商小程序系統(tǒng),歡迎咨詢!
聲明:大商創(chuàng)文章如需轉載請注明原創(chuàng)來源。本站部分文章和圖片來源網絡編輯,如存在版權問題請及時溝通處理。文章觀點僅代表作者本人,不代表大商創(chuàng)立場。
大商創(chuàng)www.kmdyby.cn多用戶商城系統(tǒng)是一款可以滿足B2B2C、S2B2C、B2B、O2O、B2C等多種電商模式的新零售商城系統(tǒng),覆蓋PC端+微商城+小程序+APP,將多端數(shù)據(jù)打通并同步,并且基于社交電商的用戶優(yōu)勢,實現(xiàn)多場景營銷,打造一個真正的生態(tài)化電商平臺,并且對接小程序直播和微信視頻號,實現(xiàn)多場景營銷,打造一個真正的生態(tài)化電商平臺。咨詢合作和了解系統(tǒng)可聯(lián)系客戶經理 17887946365(微信同號)。