1. 程式人生 > >微信小程序--登錄流程梳理

微信小程序--登錄流程梳理

end MinIP 核心api 新項目 pro arc unionid userinfo hub

前言

微信小程序凡是需要記錄用戶信息都需要登錄,但是也有幾種不同的登錄方式,但是在小程序部分的登錄流程是一樣的。之前就朦朦朧朧地用之前項目的邏輯改改直接用了,這個新項目要用就又結合官方文檔重新梳理了下,並記錄一下,好記性不如爛筆頭嘛,哈哈。

幾種登錄流程設計

利用OpenId 創建新用戶

這種方式我的理解大體上就是一種靜默登錄,獲取用戶信息之後解密用戶信息並通過OpenId直接創建新用戶

利用Unionid 創建新用戶

這種方式的特點是可以利用Unionid實現多個小程序、公眾號、已有登錄體系的數據互通。

利用現有登錄體系

這是筆者目前在使用的一種登錄方式,大體上是復用了現有的登錄體系,授權獲取個人信息之後輸入手機號和驗證碼就能完成登錄了,同時OpenId與個人信息都存在了我們自己的服務器。

幾個核心API和核心字段

  • wx.login() 調用接口獲取登錄憑證(code)
  • code2Session 登錄憑證校驗,為了獲取會話秘鑰session_key
  • wx.checkSession() 檢查登錄態是否過期
  • wx.getSetting() 獲取用戶的當前設置
  • wx.getUserInfo 獲取用戶信息,獲取之後需要解密數據
  • session_key 會話秘鑰,是通過調用接口獲取登錄憑證獲取的,是有時效性的

主要流程

技術分享圖片
最後再附上一張官方文檔上登錄流程圖
技術分享圖片

總結

由於其他兩種登錄方式還沒使用過,我單就使用過的利用現有登錄體系這種方式總結一下。

當一個用戶來使用我們的小程序時,在一個需要登錄的頁面,會經歷以下幾個步驟:

技術分享圖片
tips: 由於最新的文檔要求獲取用戶信息必須用戶主動觸發,不能開發者自動調取了,所以現在需要做個授權頁面引導用戶點擊

參考

  • 微信官方文檔
  • InterviewMap--小程序

微信小程序--登錄流程梳理