互聯網產品採用哪些方案可以實現多賬號綁定、合併和解綁?
大多數互聯網產品的用戶體系來源基本目前採用(QQ、微博、微信)的授權機制快速達到用戶完成快速註冊,同時也提供一個手機號註冊的快速入口,但是在用戶使用過程中會出現一個真實用戶,同時用QQ、手機號,微信這三種方式在產品系統中完成了註冊,從系統設計或者資料庫設計角度,如何完成這種多賬號情況下,快速的現實賬號的合併方案。
題主的問題本質是系統用戶賬戶體系的設計。
強烈建議在規劃和設計時候,參考電信運營商 eTOM/NGOSS 所提倡的「三戶模型」。「三戶模型」的理念不單純在電信運營商廣泛採納,在銀行、保險、第三方支付等遵循「以客戶為中心」的CRM理念的系統中,基本上都會採用類似的賬戶體系設計思路。
所謂的三戶模型是指:客戶customer、用戶user、賬戶account
客戶(customer):是指客戶(自然人、公司、集團公司)的基本資料信息。例如自然人的姓名、手機號、身份證、郵箱地址等等;公司的五證一照、行業、聯繫人、網站地址、通訊地址等等。
用戶(user):指客戶在系統的登錄賬號信息,包括賬號、密碼、人員許可權、角色等等。客戶與用戶(賬號)為一對多關係。
賬戶(account):指客戶在系統的虛擬賬戶,主要與交易記賬相關。用戶(賬號)與賬戶為一對多關係。用戶與賬戶為多對多關係。
關於「三戶模型」更詳盡的資料可以參考三大運營商BOSS、CRM系統的規劃資料。作為入門可以參考這篇 https://wenku.baidu.com/view/50adf19951e79b89680226de.html
回到題主的問題,粗略說來:
客戶:存儲用戶的個人資料。
用戶:存儲客戶通過微信、微博、QQ等第三方開放平台登陸的賬號信息,例如openid、oauth token等,也可以是直接用郵箱、手機號註冊的用戶登陸賬號信息。
賬戶雖然題主沒有提,但對於互聯網服務,都涉及後期流量、內容變現的問題,早晚都會涉及用戶虛擬賬戶問題,建議在建設初期就要考慮到。
與「三戶模型」相關,其實還可以衍生出產品訂購關係等模型,這對互聯網公司其實也很有參考價值。當然可以根據具體業務模式進行裁剪,但核心思想挺有價值的。
正好自己遇到了同樣的問題,應該比題主的更加複雜:
目前存在多個平台(就認為是兩個吧),都有手機號或者微信號註冊,其中一個平台上手機號和微信號是互通的,另外一個不互通,兩個平台之間互不相通。A平台:手機號、微信號,綁定後之間互通
B平台:手機號、微信號,沒提供綁定,也不互通。現在要做賬號整合方案,將A、B平台整合……感覺自己進入一個大坑……經過多天的梳理,整理了一個初步方案,希望對有緣人有幫助。方案原則:
1、真實用戶以手機號作為唯一認證,微信授權的儘可能綁定手機號(暫不強制)2、根據已有的信息去判斷其他平台中是否有存在的信息,有一樣的就必須合併3、第三方平台綁定手機時,以手機號所在的賬號為主A平台登錄後做以下判斷:(B平台情況一致)
1、使用手機號,未綁定微信號:
a.在B平台存在手機賬號,且沒有綁定微信號賬號情況:登錄後強制賬號合併(通過手機號關聯),重新設置密碼。==》手機號、密碼 b.在B平台存在微信已綁定手機號,不管有沒有手機賬號的情況:都認為存在手機賬號,強制賬號合併,重新設置密碼。==》手機號、微信號、密碼 其他情況照常登錄。2、使用手機號,已綁定微信號或使用微信號,已綁手機號:
a.在B平台存在手機賬號,不管有沒有綁定微信號賬號:登錄後強制賬號合併(通過手機號關聯),重新設置密碼。==》手機號、微信號、密碼 b.在B平台存在同一微信號,不管有沒有手機綁定的情況:登錄後強制賬號合併,重新設置密碼。==》手機號、微信號、密碼(綁定的手機號和當前登錄的手機號不一致的情況暫沒想到辦法處理)3、使用微信號登錄 a.在B平台存在同一微信號,且沒有手機綁定的情況,登錄後強制賬號合併==》微信號授權 b.在B平台存在同一微信號,且已手機綁定的情況,登錄後強制賬號合併,重新設置密碼。==》手機號、微信號、密碼登錄完成,剩下的是綁定的坑:
1、存在微信號,綁定手機號:該手機號存在賬號,輸入驗證碼,完成綁定,以手機號信息為主。2、存在手機號,綁定微信號:微信號存在賬號,授權後,信息合併,以手機號信息為主。聽說要加上更多第三方認證,感覺一大波坑正在路上……闡述一下自己的經驗:
現在負責的產品線,第三方登陸就算是一個獨立的賬號,一開始並沒有和手機號綁定在一起,後期給用戶發優惠券和確認訂單信息,都需要有手機號。於是發現一開始的策略是多麼的愚蠢。當然不是說第三方登陸創建為一個賬號,是一種錯誤的策略,而是,如果你的產品線里會有很多對於用戶手機號的操作,一定要在第三方登陸時,直接綁定手機號,不然後患無窮。市面上工具、閱讀類的軟體,由於不那麼需要用戶的手機號,所以大多數第三方登陸是不用綁定手機號的。但是一旦牽扯著下單,手機號作為用戶的一個重要標示時,一定儘早提示綁定手機號。被點名了,但是不太懂蠻回答一下。觀察了很多APP的登錄系統,發現大部分的APP都是微博、微信、QQ、手機註冊這四種登錄方式,絕大部分的人使用習慣都是使用微博、微信、QQ這三種方式來快速登錄,要在這種多賬號情況下,快速的現實賬號的合併,可使用微博、微信、QQ快速登錄後+手機賬號綁定來完成,以手機賬號綁定為主。
推薦閱讀:
※資料庫有沒有類似現代操作系統的好書?
※一個高級資料庫管理員或者老練的DBA都具備哪些逆天的技巧?
※像知乎這樣的評論回復模式,資料庫應該怎麼設計比較好,考慮性能、可擴展性等?
※SQL語句為什麼使用select * 會降低查詢速度?
※單機 MySQL 資料庫可以支撐多大數據量?