注冊登錄的設計:基于33款APP的注冊登錄分析(二)

17 評論 14075 瀏覽 165 收藏 9 分鐘

這篇文章,主要是想解答自己內心的疑惑:注冊登錄流程基于不同行業、不同類型、不同的安全要求,是否存在最優的設計方案?

在過往2年多,獨立設計了幾款產品,但對于注冊登錄流程,一直沒有深入研究,心存疑慮。趁著最近的空閑,分析了33款APP的注冊登錄。

我將以上33款APP分為了以下7個維度進行對比分析,上一篇主要講了3和4,點擊這里可查看

這一篇主要寫第5點:第三方授權,以微信授權為例

本文目錄:

  1. 微信授權的基本原理
  2. 微信授權的注意事項
  3. 微信授權注冊后,是否需要手機號

一、微信授權的基本原理

1. 微信授權流程

移動應用使用微信登錄是基于OAuth2.0協議標準,構建的微信OAuth2.0授權登錄系統。開發者在進行微信OAuth2.0授權登錄接入之前,需要在微信開放平臺注冊開發者帳號,將自己的移動應用提交審核并通過,從而獲得相應的AppID和AppSecret。申請接入微信登錄且通過審核后,才可以開始接入流程。

具體細節可以參見微信開放平臺的 移動應用微信登錄開發指南

簡單來說,微信的授權流程如下:

  1. 請求code:用戶點擊第三方應用的微信登錄時,會對微信發起授權登錄請求,用戶允許授權給第三方應用后,微信會拉起應用或重定向到第三方網站,并且返回授權臨時票據code參數;
  2. 通過code獲取access_token:第三方應用通過code參數加上AppID和AppSecret等,通過API換取access_token;
  3. 通過access_token調用接口:第三方應用通過access_token請求微信進行接口調用,獲取用戶基本數據資源或幫助用戶實現基本操作。

2. 微信授權可獲取的用戶基本數據

授權后接口調用的官方說明:點擊這里進行了解

了解微信授權可獲取的用戶基本數據,有利于合理使用和設計微信授權機制。

上圖來自官方說明截圖,可以看到所有可獲取的用戶數據。因此微信授權注冊的好處,除了可以簡化注冊流程,同時還可以免去用戶設置昵稱、性別、地址信息、頭像的步驟,對于社交類應用來說,是不錯的選擇。

二、微信授權的注意事項

從上面的圖中可以看到兩個字段,分別是:openid和unionid,這兩個id的選用,對于第三方應用是需要特別注意的。

兩者的區別在于:

  • openid:同一用戶,對同一個微信開發平臺開發者賬號的不同應用,openid是不相同的;
  • unionid:同一用戶,對同一個微信開放平臺開發者賬號的不同應用,unionid是相同的。

也就是說,如果同一個微信開放平臺開發者賬號下有多個應用,同一微信用戶針對不同的應用,會擁有不同的openid。如果采用openid作為用戶注冊信息,則用戶會在每個應用下,擁有一個賬號。

而unioind是針對微信開發平臺賬號的,就算開發者擁有多個應用,用戶的unionid都是唯一的,所以開發者可通過獲取用戶基本信息中的unionid來區分用戶的唯一性。選擇unionid作為用戶的賬號注冊信息,可以方便對多應用的用戶賬號進行統一。

三、微信授權注冊后,是否需要手機號

用戶在完成微信授權后,獲取并使用用戶的openid/unionid作為注冊信息,用戶即可完成注冊(建議產品經理朋友們,可以學習一下數據庫基礎,很有用)。因此,僅就注冊功能的需求來說,手機號并不是必須的。

但是微信授權也存在著弊端,如通過微信授權的獲取到的用戶信息,無法與用戶取得直接聯系。這時就要根據實際情況判斷,是否要求用戶綁定手機號,以及在什么時候要求用戶綁定手機號。

在本次調研的33款APP中,13款金融類的APP均不支持微信授權登錄,除開政策因素,對于金融類產品,手機號是非常重要的用戶信息,而微信授權后能獲得的用戶信息,對于社交功能非核心的應用來說,也沒有太大的用處。

除開微信和13款金融APP,剩下的19款支持微信授權的APP中:

  • 10款在微信授權后必須綁定手機:平安好醫生、微醫、健康160、隨手記、豆瓣、知乎、得到、趣頭條、京東、網易考拉;
  • 2款在微信授權后提示綁定手機號但可以跳過:快手、抖音;
  • 7款授權后無需綁定手機:挖財記賬、今日頭條、網易嚴選、拼多多、陌陌、最右、微博。

也就是微信授權后,必須綁定手機的和無需綁定的,基本持平。

《中國人民共和國網絡安全法》第二十四條 網絡運營者為用戶辦理網絡接入、域名注冊服務,辦理固定電話、移動電話等入網手續,或者為用戶提供信息發布、即時通訊等服務,在與用戶簽訂協議或者確認提供服務時,應當要求用戶提供真實身份信息。用戶不提供真實身份信息的,網絡運營者不得為其提供相關服務。

根據網絡安全法規定,涉及要用戶發布信息、即時通訊功能的APP,都需要用戶提供真實身份信息,而最方便獲取和驗證的,就是實名認證的手機號。

要求用戶提供手機號,對于開發者來說是有利的。但微信授權之后,立刻要求綁定手機號,就無法體現出微信授權注冊的簡便,反而顯得多余。

快手、抖音,在綁定手機頁面提供一個跳過功能,是一個不錯的折中的選擇。陌陌在用戶退出登錄時,若該用戶沒有綁定手機會提示用戶綁定,也是一個可以參考的解決方案。也可以考慮,當用戶使用到這些必須實名認證的功能時,再提示綁定手機。

相關閱讀

注冊登錄的設計:基于33款APP的注冊登錄分析(一)

 

作者:Arya.阿雅,公眾號:aryawang419

本文由 @Arya.阿雅 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 數據庫基礎學習有啥推薦嗎

    來自上海 回復
    1. 書:SQL必知必會
      軟件:程序媛app

      來自北京 回復
  2. 太贊了,細節決定成敗,繼續學習

    來自黑龍江 回復
  3. 催更呀!??!

    回復
    1. 最新一篇已經提審啦~

      來自廣東 回復
  4. 學到了很多~催更下一篇~

    來自廣東 回復
    1. 年后爭取每月一篇,感謝關注。

      來自四川 回復
  5. openid或unionid作為賬號,那密碼呢?登錄直接通過openid或unionid就可以登陸了嗎?

    來自上海 回復
    1. 不是作為賬號,而是作為保存用戶信息的,數據庫表中的唯一識別碼。
      登錄是通過微信授權登錄就可以了。

      來自四川 回復
  6. 坐等第三篇 寫的很詳細!

    回復
  7. 好好好~~~辛苦了~~

    來自北京 回復
    1. 謝謝支持~ ??

      來自廣東 回復
  8. 寫的很簡潔,好棒

    來自北京 回復
    1. 謝謝支持~ ??

      來自廣東 回復
  9. 不錯,收藏

    來自廣東 回復
    1. 謝謝支持~ ??

      來自廣東 回復