前段時間開發中的一款產品,有小程序和app:小程序直接微信登錄,app使用手機號+驗證碼注冊,手機號+驗證碼/密碼登錄。
用戶使用其中一套賬號密碼即可正常使用,不強制要求完善另一套賬號。為避免同一用戶小程序是一個賬號,app是另一個賬號,就有了兩套賬號體系相互打通(綁定)的需求。
下邊梳理下注冊登錄及相互綁定的流程。
小程序注冊登錄
從微信進入小程序,如果數據庫中沒有這個微信用戶,即注冊為新用戶,然后自動登錄。如果已經有這個用戶了,也自動登錄。
這里為什么是UnionID而不是openid。
openid同一用戶同一應用唯一,unionid同一用戶同一開放平台所有應用唯一。
如果使用openid,當有多個應用,比如多個小程序,或者小程序和app的微信授權登錄,同一個微信用戶會有多個openid,如何將其對應到同一個賬戶就很復雜了。
App注冊登錄
App注冊只設計了手機號+驗證碼的方式。如果沒有這個手機號用戶,注冊為新用戶並登錄。如果已經有這個手機號用戶,自動登錄。
比最基本的注冊登錄多了一個賬號是否禁用的判斷。
起初是沒有這一層判斷的,發放新用戶紅包(可無條件提現)的時候出現了問題:已經被禁止登陸的手機號,又重新注冊了新賬號。
所以,列入黑名單的賬號,不僅要在登陸環節堵住,在注冊環節也得堵住。
微信小程序里,綁定/換綁手機號
換綁過程,需要原綁定手機號+驗證碼驗證后才能進入解綁流程,防止他人惡意綁定。這一步是否有必要,要根據產品的性質而定,如果是金融類產品,牽扯到錢,一定要有。用戶更換綁定的手機號,很可能原手機號已經無法接收驗證碼。所以,如果沒有其他的解綁途徑,最好這一步是可以跳過的。
app手機登錄,綁定微信號
以上是注冊登錄及綁定賬號的流程,其中會涉及到很多細節,理好了再補充。