注冊登錄的設計:基于33款APP的注冊登錄分析(二)
這篇文章,主要是想解答自己內心的疑惑:注冊登錄流程基于不同行業、不同類型、不同的安全要求,是否存在最優的設計方案?
在過往2年多,獨立設計了幾款產品,但對于注冊登錄流程,一直沒有深入研究,心存疑慮。趁著最近的空閑,分析了33款APP的注冊登錄。
我將以上33款APP分為了以下7個維度進行對比分析,上一篇主要講了3和4,點擊這里可查看
這一篇主要寫第5點:第三方授權,以微信授權為例
本文目錄:
- 微信授權的基本原理
- 微信授權的注意事項
- 微信授權注冊后,是否需要手機號
一、微信授權的基本原理
1. 微信授權流程
移動應用使用微信登錄是基于OAuth2.0協議標準,構建的微信OAuth2.0授權登錄系統。開發者在進行微信OAuth2.0授權登錄接入之前,需要在微信開放平臺注冊開發者帳號,將自己的移動應用提交審核并通過,從而獲得相應的AppID和AppSecret。申請接入微信登錄且通過審核后,才可以開始接入流程。
具體細節可以參見微信開放平臺的 移動應用微信登錄開發指南
簡單來說,微信的授權流程如下:
- 請求code:用戶點擊第三方應用的微信登錄時,會對微信發起授權登錄請求,用戶允許授權給第三方應用后,微信會拉起應用或重定向到第三方網站,并且返回授權臨時票據code參數;
- 通過code獲取access_token:第三方應用通過code參數加上AppID和AppSecret等,通過API換取access_token;
- 通過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,都需要用戶提供真實身份信息,而最方便獲取和驗證的,就是實名認證的手機號。
要求用戶提供手機號,對于開發者來說是有利的。但微信授權之后,立刻要求綁定手機號,就無法體現出微信授權注冊的簡便,反而顯得多余。
快手、抖音,在綁定手機頁面提供一個跳過功能,是一個不錯的折中的選擇。陌陌在用戶退出登錄時,若該用戶沒有綁定手機會提示用戶綁定,也是一個可以參考的解決方案。也可以考慮,當用戶使用到這些必須實名認證的功能時,再提示綁定手機。
相關閱讀
作者:Arya.阿雅,公眾號:aryawang419
本文由 @Arya.阿雅 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
數據庫基礎學習有啥推薦嗎
書:SQL必知必會
軟件:程序媛app
太贊了,細節決定成敗,繼續學習
催更呀!??!
最新一篇已經提審啦~
學到了很多~催更下一篇~
年后爭取每月一篇,感謝關注。
openid或unionid作為賬號,那密碼呢?登錄直接通過openid或unionid就可以登陸了嗎?
不是作為賬號,而是作為保存用戶信息的,數據庫表中的唯一識別碼。
登錄是通過微信授權登錄就可以了。
坐等第三篇 寫的很詳細!
好好好~~~辛苦了~~
謝謝支持~ ??
寫的很簡潔,好棒
謝謝支持~ ??
不錯,收藏
謝謝支持~ ??