微信小程式授權機制詳解

小云云
發布: 2018-03-16 16:46:51
原創
3329 人瀏覽過

其實,這裡說的不是小程式的授權機制,而是登入態的機制。 小程式裡面的授權,是特定介面的授權。微信官方已經為小程式封裝了許多API介面。 

當呼叫wx.login()時,就可以向伺服器發起請求,得到code。

在公眾號裡,是需要開發者在伺服器設定好連結的。

客戶端拿到code碼是需要傳送給伺服器的,微信不建議客戶端直接傳送code到微信。

在伺服器接收到code碼後,再攜帶這appid,secret去存取微信伺服器,微信伺服器會回傳openid,session_key。
其中:

openid是用户标识。
session_key是解密用的。因为有的接口返回来的数据是加密的,比如当我们想获取unionid时。
登入後複製

當開發者伺服器拿到微信回傳的openid,session_key後,會自己產生一個3rd_session (最好和openid相關聯)也可以叫做一個token吧。然後把這個3rd_session回傳給客戶端,並且在伺服器的session中存入以3rd_session為key,openid+session_key為value的資料。

客戶端接收到這個3rd_session後,也寫入在storage裡。
這樣使用者重新進入小程式後,呼叫wx.checksession()就可以偵測登入態。

另外把這個3rd_session寫入客戶端裡,也讓我們的介面更合理。
因為有些接口是公共接口,有些接口是需要權限控制的。而這個3rd_session就是使用者唯一的識別碼。

微信小程式授權機制詳解

相關推薦:

微信小程式授權取得使用者詳細資料實例

以上是微信小程式授權機制詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!