如今愈來愈多的產品都實現了在不一樣平臺上的功能支持。好比原來的 App 爲了微信上的流量,開發了小程序。原來只作微信公衆號的,後來爲了更好的體驗開發了 App 等等。這裏面臨用戶帳號遷移的問題。對於用戶來說,但願原來一個平臺上的帳號,在另一個平臺也能直接使用,而不須要從新註冊。對於企業來說,原來平臺上的用戶使用了新的平臺,也但願可以識別是同一用戶,對用戶的分析能夠更精確,從而帶來一致的體驗。html
可是不少系統在開發初期沒有作出有足夠擴展的設計,在後續業務擴大的時候又急急忙忙,致使多平臺統一用戶的目標很難實現,形成不少意想不到的問題。數據庫
這篇文章裏面我將說明一個本身的方案。從功能、數據表設計、接口設計三部分展開。可以在系統構建之初就爲將來的需求提供足夠擴展的可能。小程序
系統中用戶部分最基礎的功能,包括註冊,登陸,綁定/解綁。下圖中涵蓋了市面上能看到幾乎全部方式。安全
因爲微信實在太過強大,基於微信平臺上的子類型也須要考慮。微信
表結構的核心在於用戶主表和平臺用戶表。用戶主表對內,主要用於系統內部使用。平臺用戶表,則做爲第三方平臺與系統內部打交道的通道。系統的複雜度就只在於這兩張表之間的邏輯了。spa
注意:用戶表設計未考慮到足夠的安全策略。正確的方式是須要對密碼進行加鹽Hash保護。設計
圖示中的接口,在設計時考慮了兩點:htm
以上就是多平臺統一用戶系統的設計要點。對於系統的快速起步開發已經足夠了,也不須要擔憂將來擴展平臺的問題。blog
打好基礎,之後事半功倍。token
獲取思惟導讀源文件,請加QQ羣:429039234