微信小程式--登入流程梳理
阿新 • • 發佈:2018-11-26
前言
微信小程式凡是需要記錄使用者資訊都需要登入,但是也有幾種不同的登入方式,但是在小程式部分的登入流程是一樣的。之前就朦朦朧朧地用之前專案的邏輯改改直接用了,這個新專案要用就又結合官方文件重新梳理了下,並記錄一下,好記性不如爛筆頭嘛,哈哈。
幾種登入流程設計
利用OpenId 建立新使用者
這種方式我的理解大體上就是一種靜默登入,獲取使用者資訊之後解密使用者資訊並通過OpenId直接建立新使用者
利用Unionid 建立新使用者
這種方式的特點是可以利用Unionid實現多個小程式、公眾號、已有登入體系的資料互通。
利用現有登入體系
這是筆者目前在使用的一種登入方式,大體上是複用了現有的登入體系,授權獲取個人資訊之後輸入手機號和驗證碼就能完成登入了,同時OpenId與個人資訊都存在了我們自己的伺服器。
幾個核心API和核心欄位
- wx.login() 呼叫介面獲取登入憑證(code)
- code2Session 登入憑證校驗,為了獲取會話祕鑰session_key
- wx.checkSession() 檢查登入態是否過期
- wx.getSetting() 獲取使用者的當前設定
- wx.getUserInfo 獲取使用者資訊,獲取之後需要解密資料
- session_key 會話祕鑰,是通過呼叫介面獲取登入憑證獲取的,是有時效性的
主要流程
最後再附上一張官方文件上登入流程圖
總結
由於其他兩種登入方式還沒使用過,我單就使用過的利用現有登入體系這種方式總結一下。
當一個使用者來使用我們的小程式時,在一個需要登入的頁面,會經歷以下幾個步驟:
tips: 由於最新的文件要求獲取使用者資訊必須使用者主動觸發,不能開發者自動調取了,所以現在需要做個授權頁面引導使用者點選