微信小程式如何呼叫後臺service的簡單記錄
寫在前頭,本篇文章簡單記錄一下,在前後端分離的微信小程式應用中,前端訪問後臺service的實現思路,沒有過多涉及技術實現方面。
先上一張官網的圖片,它很清楚的講明瞭要在後臺service為每一個小程式使用者提供登入資訊需要做哪些事情。使用者拿到了後臺給的登入憑據,訪問後臺service。
靜默授權與非靜默授權
先來講講這兩個概念, 靜默授權,顧名思義,這授權動作對於使用者來說是感知不到的, 小程式端悄咪咪得就做了。因此,沒有知會使用者的授權方式拿到的資訊也是不太重要的。但是,靜默授權是開始重要的一步,因為它為接下來的動作提供了code。呼叫靜默授權可用小程式提供的 API:wx.login() 。再來講講 非靜默授權,顧名思義,它的授權是要有明顯動靜的,而且它是要得到使用者認可才可以執行。 API:wx.getUserInfo() ,這個介面要不要用可根據小程式的實際需求來。
後臺獲取openId
小程式提供了一個介面 code2session ,拿著我們靜默授權獲取到的臨時登入憑證code再呼叫一下這個介面就能獲取到openId了。注意,這一步是在後臺伺服器做的。openId是在當前小程式中對使用者唯一性的標識。
基於OAuth2.0生成token
在後臺,可以用SpringSecurity的OAuth2.0這一個工具,用openId來生成前端請求後端資料的附帶校驗資訊token。具體是如何實現的筆者也沒有深入瞭解……獲取到了這個token後,前端可將其存入webStorage中,每一次呼叫後臺service的時候,就可以利用請求的攔截器在config引數中加入token。後端就可以確定傳送請求的使用者身份,保證了系統的安全性。
總結:以上大致描繪了小程式後臺自定義登入態的開發思路。