登入方式的演變過程
說到一鍵登入,我們需要先熟悉一下登入方式的演變過程,大致可以分為四個階段。
階段一:賬號+密碼登入
賬號+密碼登入是傳統的登入方式,也是早期市場上最普遍的登入方式,使用者憑自己註冊時設定賬號和密碼在登入時使用,雖然簡單粗暴,也確實能夠滿足使用者鑑權的場景,但缺點也是顯而易見:
使用者層面:
- 記憶成本高:要求使用者記住自己的賬號和密碼,當使用者忘記賬戶或密碼時,就只能透過繁瑣的“找回密碼”來重新設定密碼,給使用者帶來了不佳的體驗。
- 賬號洩漏影響面廣:使用者為了降低記憶成本,通常會在不同的平臺使用同一套賬號密碼,一旦某個平臺的賬戶密碼洩漏了,會殃及使用者使用的其他平臺。
企業層面:
- 惡意註冊:既不與裝置繫結也不與身份繫結,意味著一個使用者可以註冊多個不同的賬號,耗費服務成本和運營成本,也影響了業務資料的準確性。
出於企業的角度,惡意註冊帶來的問題尤為明顯,為了解決這個問題需要用一個和使用者身份強相關的東西來做賬號。但是究竟用什麼呢?總不能用身份證號吧,直到手機號實名制政策的釋出,手機號成為我們另一個身份證明,這個問題終於得到了解決。
階段二:手機號+驗證碼
手機號+驗證碼是當前應用最廣的登入方式,和賬號+密碼相比,它不要使用者再去記自己的賬號密碼,也增加了安全性,可以更好的驗證使用者身份並防止惡意註冊。這種方式還可以把登入和註冊流程進行結合,若登入時發現手機號還未註冊,則先用手機號註冊好之後再進行登入,一切都是靜默進行,使用者無感,極大的降低了使用者的操作成本。但是這種方式依然存在缺點:
- 輸入成本高:需要輸入手機號 ➡️ 獲取並等待驗證碼簡訊 ➡️ 輸入驗證碼 ➡️ 點選登入。這套流程走完之後大概在20秒以上,操作步驟多。
- 依賴簡訊:若因為異常未收到簡訊就登入不成功(比如手機號被加入了黑名單,導致收不到驗證碼),造成使用者在註冊階段就流失。
- 存在驗證碼洩漏風險:如果有人知道你的手機號,並且竊取了驗證碼,賬號就會被盜用
到這一步,一些有心人會回過頭想一下:
為什麼需要驗證碼?驗證碼的作用是確認手機號是使用者本人的,那麼除了驗證碼還有那些方式可以證明手機號是使用者本人的?如果能提前獲取到使用者當前使用的真實手機號,然後對使用者輸入的手機號進行驗證,是不是同樣可以證明呢?
階段三:本機號碼認證
雖然作業系統限制使用者端無法直接獲取手機號,但是運營商可以透過sim卡流量資料查詢到,因此號碼認證應運而生。
現在國內三大運營商(移動、聯通、電信)都已經開放了相關的能力:使用者輸入手機號之後請求運營商介面,運營商拿到使用者輸入的手機號並透過請求網路流量查詢 sim 卡對應的手機號,判斷兩者是否一致,即可完成登入,極大的簡化了登入流程,提高了安全性。
再進一步想,既然運營商可以查詢到使用者當前使用的手機號,直接讓運營商返回使用者當前手機號碼,讓使用者直接用當前手機號碼登入,不就可以進一步減少輸入成本,變得更加便捷嗎?於是運營商也開放了直接返回手機號的能力。
階段四:一鍵登入
一鍵登入簡單來講就是獲取當前使用者當前手機號,直接用該手機號進行登入,這種登入方式特點是一鍵式,完美解決了上述登入方式存在記憶成本、輸入成本、洩漏風險、惡意註冊等所有問題,登入的整個過程2秒左右,也極大程度降低了註冊登入環節的使用者流失。
小結
一鍵登入的基本原理要使用一鍵登入需要在使用者端內整合運營商的 SDK,三大運營商提供的授權流程也都是一致,下方是一鍵登入的流程圖:
一鍵登入流程圖
這裡對一些關鍵步驟進行說明:
- 1.2 判斷手機號歸屬運營商:雖然使用者端不能獲取手機號,但是 ios、Android 作業系統提供了蜂窩煤網路資訊的獲取方法,可以從中解析得知使用者當前手機號歸屬哪個運營商。並且由於需要獲取手機蜂窩煤網路資訊,也就是說需要透過手機流量上網才能支援一鍵登入。
- 2.1 對應運營商發起預取號:預取號的目的是獲取手機號掩碼,也就是手機號的前三後四位,如186**5385,這個手機號掩碼需要在一鍵登入授權頁面展示給使用者看,因為預取號需要透過運營商服務端才能獲取,所以會有一定的等待時間,因此為了提升使用者體驗,可以在開啟應用的的時候就去獲取,然後將其快取下來。
- 3.3獲取登入 Token :因為手機號屬於使用者的敏感資訊,運營商為滿足國家相關法律法規的規範要求,且保障使用者在知情的情況下清晰地瞭解並同意授權使用者端獲取該資訊,因此拉起授權頁面後需要使用者勾選運營商協議。使用者確認授權一鍵登入之後,使用者端會向運營商發起請求以獲取登入 Token,運營商服務端會返回一個登入 Token 給使用者端,應用再透過自己的業務服務端拿著這個 Token 找運營商換取手機號碼。
- 4.3返回手機號:成功返回手機號後,可以說是已經登入成功了,應用就需要維護自己使用者的登入狀態,這裡可以採用傳統的 Session 機制,也可以使用 JWT 機制。
這裡還存在一個安全問題:
- 4.1提交登入 Token 到業務服務端:一些不法使用者如果偽造一個登入 Token 向業務服務端提交請求,業務服務端再向運營商服務端發起請求,雖然這個 Token 可以最終在運營商側會被阻止,但是不免浪費資源,給服務端帶來壓力。關於這一點也有解決辦法,業務服務端先生成一個隨機數,然後使用者端向業務服務端提交時帶著這個隨機數,業務服務端驗證這個隨機數,就可以很大程度避免這個問題。
最後一公里:極光安全認證 —— 一鍵登入
看到這裡,你應該已經認可了一鍵登入是當下最先進和便捷的登入方式了吧。但或許你心中還有幾個疑惑妨礙著你選擇一鍵登入:
- 對接成本高:三家運營商都擁有自己的 SDK,要想覆蓋全部使用者的場景需要將三家運營商 SDK 分別進行整合
- 監控管理難:一鍵登入的全流程節點並不少,勢必會存在轉化率、失敗率等,需要分別監控三家運營商的節點資料進行監控和資料分析為了解決使用一鍵登入的“最後一公里”問題,極光安全認證為此提供了專業的第三方一鍵登入服務。
- 降低對接成本:極光安全認證透過將三大運營商 SDK 有機進行封裝,讓開發者僅用一次對接就將一鍵登入功能覆蓋全部使用者。
極光安全認證 —— 一鍵登入流程圖 - 提高監控管理能力:極光安全認證還全方位監控的各運營商的節點資料,並提供多維度視覺化資料看板。
極光安全認證 —— 一鍵登入統計頁面
- 相容其他登入方式:極光安全認證 SDK 提供自定義控制元件的設定方法,如果開發者正在使用手機號+驗證碼登入方式,並不想完全放棄,可以透過自定義控制元件的方法讓應用同時具備一鍵登入和手機號+驗證碼等多種登入方式,相互之間形成互補,供使用者自由選擇。
結語
總的來說,一鍵登入相對於其他登入方式優勢是十分明顯的:不但可以提高使用者體驗、降低使用者在註冊登入環節的流失率;同時可以有效防止惡意註冊、“薅羊毛”的發生,遏制業務損失。
毫無疑問,相信一鍵登入將會成為未來最主流的登入方式之一。
關於極光
極光(Aurora Mobile,納斯達克股票程式碼:JG)成立於2011年,是中國領先的客戶互動和營銷科技服務商。成立之初,極光專注於為企業提供穩定高效的訊息推送服務,憑藉先發優勢,已經成長為市場份額遙遙領先的移動訊息推送服務商。隨著企業對客戶觸達和營銷增長需求的不斷加強,極光前瞻性地推出了訊息雲和營銷雲等解決方案,幫助企業實現多渠道的客戶觸達和互動需求,以及人工智慧和大資料驅動的營銷科技應用,助力企業數字化轉型。