用戶系統(tǒng)設(shè)計:第三方授權(quán)、賬號綁定及解綁(下)
用戶系統(tǒng)是很多產(chǎn)品最基礎(chǔ)的構(gòu)成之一,但是越是基礎(chǔ)越是開源設(shè)計想要完善也更難。在設(shè)計用戶系統(tǒng)的時候,首先想到的關(guān)鍵詞是注冊和登錄。但并不是有這兩者就足夠了,更加完善用戶系統(tǒng)本身還需要考慮:多平臺賬號打通,同平臺賬號之間綁定與解綁,賬號安全等及需要怎樣的前端設(shè)計才是滿足這個產(chǎn)品本身定位和用戶操作的設(shè)計。
下文接著來講服務(wù)端設(shè)計,詳情請戳:用戶系統(tǒng)設(shè)計:前端設(shè)計和多平臺賬號打通(一)
2.?第三方授權(quán)登錄
上篇文章我們介紹過第三方授權(quán)的用戶不是用戶系統(tǒng)的用戶,僅是單一app的用戶,此原則在此篇仍適用。第三方授權(quán)是為app注冊登錄提供一種便捷的方式和補充。那么第三方授權(quán)的登錄和注冊是怎么回事呢?簡單來說就是第三方有一個公開的授權(quán)接口,你有權(quán)訪問并起用戶確認后能夠返回此用戶在第三方的身份openid,可作為app生成自己用戶身份的驗證。
(1)主流程圖
第三方授權(quán)注冊登錄
- 調(diào)取第三方sdk,查詢此openid是否已有appuserid;
- 若是,登陸;若否,創(chuàng)建appuserid并將基本資料存入app服務(wù)端。
3.?賬號綁定
賬號綁定分為綁定手機號和綁定第三方授權(quán)賬號。第三方授權(quán)能夠給用戶提供便捷的注冊和登錄方式,這是好的一點,但是正因為操作太便捷沒有參與感所以用戶很容易忘記自己的登錄方式。賬號綁定到目的就是避免用戶忘記登錄方式,每次授權(quán)都在app內(nèi)創(chuàng)建一個用戶身份,不利于用戶操作的同時也不利于產(chǎn)品用戶信息留存。所以產(chǎn)品設(shè)計上來講用戶的登錄和注冊方式盡量簡單、多種,但是盡量在非必要非用戶自主想創(chuàng)建另外賬號的情況下盡量一個用戶在一個app只存在一個身份。
主流程圖:
綁定手機號
綁定手機號
Step1:用戶輸入手機號點擊獲取驗證碼,客戶端進行基本判斷(后面詳細介紹)后,app服務(wù)端發(fā)送驗證碼;
Step2:用戶系統(tǒng)服務(wù)端驗證用戶的手機號是否已存在對應(yīng)的appuserid;
若是,提示此號已綁定,先更換綁定手機號
若否,用戶系統(tǒng)按照手機號注冊流程,用戶系統(tǒng)創(chuàng)建unionid,將union傳給app并關(guān)聯(lián)當前登陸的appuserid,綁定成功
綁定第三方授權(quán)
App服務(wù)端查詢賬號信息,是否存在appuserid;
若是,提示此號已綁定,建議先解綁;
若否,將此第三方授權(quán)openid綁定到登陸的appuserid中;綁定成功
4.?賬號解綁
賬號解綁也分為手機號和第三方授權(quán)。手機號只允許更換綁定不允許解除綁定。更換綁定的場景就在于用戶更換了手機號,為了賬號安全將之前的信息遷移到新的手機號中,并將更換的原手機號從系統(tǒng)中刪除,若再次注冊將視為新賬號。
主流程圖:
賬號解綁
更綁手機號
Step1:原手機號+驗證碼,app服務(wù)端驗證是否為真,為真發(fā)送驗證碼;
Step2:新手機號+驗證碼+密碼,app服務(wù)端驗證手機號+驗證碼是否為真,為真進行step3
Step3:用戶系統(tǒng)服務(wù)驗證此手機號是否已存在unionid;
若是,提示更綁失敗
若否,將新手機號替換原手機號,關(guān)聯(lián)原手機號unionid,appuserid;并將原手機號從用戶系統(tǒng)中刪除;
解綁第三方授權(quán)
Step1:當前第三方授權(quán)是否已經(jīng)綁定手機號,若是,成功解綁;若否進行step2;
Step2:當前第三方授權(quán)是否綁定其他第三方授權(quán)登陸,若是進行step3,若否提示無法解綁,首先請綁定手機號;
Step3:當前第三方授權(quán)是否為最早一個綁定(即注冊賬號);
若是,調(diào)取第三方授權(quán)登陸頁面,用戶重新登陸要解綁賬號+密碼(需要確認是否能抹除用戶登錄信息要求輸入賬號密碼),登陸成功則解綁成功;
ps:這里被開發(fā)同事驗證不能抹去登錄信息,因為我們只有調(diào)取接口的權(quán)限。但是當時之所以想要這么設(shè)計,是為了賬號安全,可以試想一個場景,我把你的賬號綁定到我的微信/微博等,然后接觸你的賬號,相當于這個賬號就歸我了。--事實證明現(xiàn)在的權(quán)限沒辦法解決這個問題。
若否,解綁成功。
相關(guān)閱讀
用戶系統(tǒng)設(shè)計:前端設(shè)計和多平臺賬號打通(一)
作者:王悠悠悠
來源:http://www.jianshu.com/p/088de40cb100
本文由 @王悠悠悠 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
學(xué)習(xí)了
學(xué)習(xí)了
“更換綁定的場景就在于用戶更換了手機號,為了賬號安全將之前的信息遷移到新的手機號中,并將更換的原手機號從系統(tǒng)中刪除,若再次注冊將視為新賬號?!?br /> 這個邏輯有安全漏洞,只要用戶有兩個手機號碼可以利用這個漏洞反復(fù)注冊新賬戶,從而獲得新用戶獎勵。
賬號里面,會有黑白名單的,這種反復(fù)的,很快就會進入黑白名單范圍內(nèi)。還有,賬號還有一些控制的,只是沒降到很深入而已,這些都是基礎(chǔ)的方案流程。
原來是這樣
不錯