用戶系統(tǒng)設(shè)計(jì):第三方授權(quán)、賬號(hào)綁定及解綁(下)

7 評(píng)論 50630 瀏覽 269 收藏 7 分鐘

用戶系統(tǒng)是很多產(chǎn)品最基礎(chǔ)的構(gòu)成之一,但是越是基礎(chǔ)越是開源設(shè)計(jì)想要完善也更難。在設(shè)計(jì)用戶系統(tǒng)的時(shí)候,首先想到的關(guān)鍵詞是注冊(cè)和登錄。但并不是有這兩者就足夠了,更加完善用戶系統(tǒng)本身還需要考慮:多平臺(tái)賬號(hào)打通,同平臺(tái)賬號(hào)之間綁定與解綁,賬號(hào)安全等及需要怎樣的前端設(shè)計(jì)才是滿足這個(gè)產(chǎn)品本身定位和用戶操作的設(shè)計(jì)。

下文接著來講服務(wù)端設(shè)計(jì),詳情請(qǐng)戳:用戶系統(tǒng)設(shè)計(jì):前端設(shè)計(jì)和多平臺(tái)賬號(hào)打通(一)

2.?第三方授權(quán)登錄

上篇文章我們介紹過第三方授權(quán)的用戶不是用戶系統(tǒng)的用戶,僅是單一app的用戶,此原則在此篇仍適用。第三方授權(quán)是為app注冊(cè)登錄提供一種便捷的方式和補(bǔ)充。那么第三方授權(quán)的登錄和注冊(cè)是怎么回事呢?簡單來說就是第三方有一個(gè)公開的授權(quán)接口,你有權(quán)訪問并起用戶確認(rèn)后能夠返回此用戶在第三方的身份openid,可作為app生成自己用戶身份的驗(yàn)證。

(1)主流程圖

1

第三方授權(quán)注冊(cè)登錄

  • 調(diào)取第三方sdk,查詢此openid是否已有appuserid;
  • 若是,登陸;若否,創(chuàng)建appuserid并將基本資料存入app服務(wù)端。

3.?賬號(hào)綁定

賬號(hào)綁定分為綁定手機(jī)號(hào)和綁定第三方授權(quán)賬號(hào)。第三方授權(quán)能夠給用戶提供便捷的注冊(cè)和登錄方式,這是好的一點(diǎn),但是正因?yàn)椴僮魈憬輿]有參與感所以用戶很容易忘記自己的登錄方式。賬號(hào)綁定到目的就是避免用戶忘記登錄方式,每次授權(quán)都在app內(nèi)創(chuàng)建一個(gè)用戶身份,不利于用戶操作的同時(shí)也不利于產(chǎn)品用戶信息留存。所以產(chǎn)品設(shè)計(jì)上來講用戶的登錄和注冊(cè)方式盡量簡單、多種,但是盡量在非必要非用戶自主想創(chuàng)建另外賬號(hào)的情況下盡量一個(gè)用戶在一個(gè)app只存在一個(gè)身份。

主流程圖:

2

綁定手機(jī)號(hào)

綁定手機(jī)號(hào)

Step1:用戶輸入手機(jī)號(hào)點(diǎn)擊獲取驗(yàn)證碼,客戶端進(jìn)行基本判斷(后面詳細(xì)介紹)后,app服務(wù)端發(fā)送驗(yàn)證碼;

Step2:用戶系統(tǒng)服務(wù)端驗(yàn)證用戶的手機(jī)號(hào)是否已存在對(duì)應(yīng)的appuserid;

若是,提示此號(hào)已綁定,先更換綁定手機(jī)號(hào)

若否,用戶系統(tǒng)按照手機(jī)號(hào)注冊(cè)流程,用戶系統(tǒng)創(chuàng)建unionid,將union傳給app并關(guān)聯(lián)當(dāng)前登陸的appuserid,綁定成功

綁定第三方授權(quán)

App服務(wù)端查詢賬號(hào)信息,是否存在appuserid;

若是,提示此號(hào)已綁定,建議先解綁;

若否,將此第三方授權(quán)openid綁定到登陸的appuserid中;綁定成功

4.?賬號(hào)解綁

賬號(hào)解綁也分為手機(jī)號(hào)和第三方授權(quán)。手機(jī)號(hào)只允許更換綁定不允許解除綁定。更換綁定的場景就在于用戶更換了手機(jī)號(hào),為了賬號(hào)安全將之前的信息遷移到新的手機(jī)號(hào)中,并將更換的原手機(jī)號(hào)從系統(tǒng)中刪除,若再次注冊(cè)將視為新賬號(hào)。

主流程圖:

3賬號(hào)解綁

更綁手機(jī)號(hào)

Step1:原手機(jī)號(hào)+驗(yàn)證碼,app服務(wù)端驗(yàn)證是否為真,為真發(fā)送驗(yàn)證碼;

Step2:新手機(jī)號(hào)+驗(yàn)證碼+密碼,app服務(wù)端驗(yàn)證手機(jī)號(hào)+驗(yàn)證碼是否為真,為真進(jìn)行step3

Step3:用戶系統(tǒng)服務(wù)驗(yàn)證此手機(jī)號(hào)是否已存在unionid;

若是,提示更綁失敗

若否,將新手機(jī)號(hào)替換原手機(jī)號(hào),關(guān)聯(lián)原手機(jī)號(hào)unionid,appuserid;并將原手機(jī)號(hào)從用戶系統(tǒng)中刪除;

解綁第三方授權(quán)

Step1:當(dāng)前第三方授權(quán)是否已經(jīng)綁定手機(jī)號(hào),若是,成功解綁;若否進(jìn)行step2;

Step2:當(dāng)前第三方授權(quán)是否綁定其他第三方授權(quán)登陸,若是進(jìn)行step3,若否提示無法解綁,首先請(qǐng)綁定手機(jī)號(hào);

Step3:當(dāng)前第三方授權(quán)是否為最早一個(gè)綁定(即注冊(cè)賬號(hào));

若是,調(diào)取第三方授權(quán)登陸頁面,用戶重新登陸要解綁賬號(hào)+密碼(需要確認(rèn)是否能抹除用戶登錄信息要求輸入賬號(hào)密碼),登陸成功則解綁成功;

ps:這里被開發(fā)同事驗(yàn)證不能抹去登錄信息,因?yàn)槲覀冎挥姓{(diào)取接口的權(quán)限。但是當(dāng)時(shí)之所以想要這么設(shè)計(jì),是為了賬號(hào)安全,可以試想一個(gè)場景,我把你的賬號(hào)綁定到我的微信/微博等,然后接觸你的賬號(hào),相當(dāng)于這個(gè)賬號(hào)就歸我了。--事實(shí)證明現(xiàn)在的權(quán)限沒辦法解決這個(gè)問題。

若否,解綁成功。

相關(guān)閱讀

用戶系統(tǒng)設(shè)計(jì):前端設(shè)計(jì)和多平臺(tái)賬號(hào)打通(一)

 

作者:王悠悠悠

來源:http://www.jianshu.com/p/088de40cb100

本文由 @王悠悠悠 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 學(xué)習(xí)了

    來自廣東 回復(fù)
  2. 學(xué)習(xí)了

    來自廣東 回復(fù)
  3. “更換綁定的場景就在于用戶更換了手機(jī)號(hào),為了賬號(hào)安全將之前的信息遷移到新的手機(jī)號(hào)中,并將更換的原手機(jī)號(hào)從系統(tǒng)中刪除,若再次注冊(cè)將視為新賬號(hào)?!?br /> 這個(gè)邏輯有安全漏洞,只要用戶有兩個(gè)手機(jī)號(hào)碼可以利用這個(gè)漏洞反復(fù)注冊(cè)新賬戶,從而獲得新用戶獎(jiǎng)勵(lì)。

    來自廣東 回復(fù)
    1. 賬號(hào)里面,會(huì)有黑白名單的,這種反復(fù)的,很快就會(huì)進(jìn)入黑白名單范圍內(nèi)。還有,賬號(hào)還有一些控制的,只是沒降到很深入而已,這些都是基礎(chǔ)的方案流程。

      來自廣東 回復(fù)
    2. :mrgreen: 原來是這樣

      來自廣東 回復(fù)
    3. 不錯(cuò)

      回復(fù)