您的位置 首页 kreess

登錄新體驗!極光認證,瞭解一下!

最近公司要求調研一鍵登錄業務,如下圖所示 。本文將對比傳統登錄方式和一鍵登錄,並簡單介紹極光認證服務的集成。一傳統登錄方式移動互聯網發展到現在,賬號登錄 幾乎成為瞭所有應用

最近公司要求調研一鍵登錄業務,如下圖所示 。

本文將對比傳統登錄方式和一鍵登錄,並簡單介紹極光認證服務的集成。

一傳統登錄方式

移動互聯網發展到現在,賬號登錄 幾乎成為瞭所有應用的標配功能。說到登錄方式,無外乎賬號密碼登錄和驗證碼登錄。可是這兩種方式,真的便捷安全嗎?

01

賬號密碼登錄

賬號密碼登錄作為最原始的一種登錄方式,也是我最討厭的一種登錄方式。

從便捷性上來說,用戶得輸入一個滿足平臺規則的用戶名和密碼,對於不同的平臺,都制定瞭自己的規則。雖然通常都沒什麼問題,可總是有一些有損用戶體驗的地方。

  • 我想輸入中文,平臺隻給輸入英文、字母、符號,或者反之
  • 密碼長度限定,最少 6 位,8 位 ……
  • 密碼輸入限定,最常見的,要求包含大小寫字母和數字

有的時候想個密碼和闖關一樣,特別要求包含大小寫字母的,用戶容易遺忘。早期的 iCloud 就這麼設定的,我還真忘記過,無奈之下,隻能去找回密碼。

從安全性上來說,也是有弊端的。我想很多人都喜歡 Write Once, Run Everywhere ,一個密碼通吃所有場景。這本身就是一件極不安全的事情,經常有坊間流傳的某某數據庫泄露可能就把你的密碼給暴露瞭,一堆黑產在後面天天撞庫。另一個方面,對於需要實名認證,或者限定用戶認證信息的情況下,同一個用戶可以無限制的註冊賬號。雖然可以通過技術手段來限制,但總歸帶來一定的不便利。

02驗證碼登錄

驗證碼登錄一定程度上解決瞭上面的問題。用戶不需要想一個獨特的密碼,直接輸入手機驗證碼即可。同時,手機號碼的實名信息也在一定程度上防止瞭用戶無限制的註冊。即使現在大部分應用仍然會保留賬號密碼登錄接口,但毋庸置疑,驗證碼登錄已經成為主流。

要說驗證碼登錄還有什麼缺點?唯一一點就是還不夠便利。用戶正確輸入手機號碼,接收驗證碼,用戶體驗不好的 ROM 還得自己去填驗證碼,再碰到網絡抽瘋,隻能倒回去選擇賬號密碼登錄。

秉著用戶至上的原則,可以讓用戶什麼都不輸入,就自動完成登錄過程,那就再好不過瞭。這就是今天要說的一鍵登錄。

二一鍵登錄

再回憶一下文章開頭的 Gif,用戶跳轉到登錄頁面之後,無需輸入任何內容,頁面自動展示用戶的手機號碼,隻需點擊一鍵登錄按鈕即可,大大優化瞭用戶體驗,避免明文驗證碼的安全隱患,也沒有密碼方面的後顧之憂。

上面的登錄流程圖來自中國移動免密登錄服務文檔。依托運營商獨有網關認證能力,用戶一鍵授權即可獲取本機號碼完成登錄/註冊。同樣對於中國聯通,中國電信,都提供瞭類似服務。

  • 天翼開放平臺
  • 中國移動互聯網能力開放平臺
  • 小沃SAAS服務平臺

看到這,是不是有點崩潰。為瞭一個免密登錄,開發者竟然要去對接三傢 SDK 。同樣作為開發者的我,生平最討厭的就是集成 SDK ,且不說文檔質量,同一個業務,三個 SDK 給應用體積帶來的增長也不能接受。

那麼有沒有一個現成的 SDK ,整合三傢運營商的服務呢?

三極光認證

我在幾年前使用過極光社區的開源 IM 聊天 UI 組件 aurora-imui

Aurora IMUI 是個通用的即時通訊(IM)UI 庫,不特定於任何 IM SDK。完整的聊天列表和消息輸入組件,同時支持 ANDROID/IOS/RN 。我調研過很多 IM 的 UI 組件庫,很少有像 IMUI 這麼功能完整的,因此對極光社區留下瞭很好的印象。本次我也調研瞭極光社區的免密一鍵登錄服務 —— 極光認證

01準備工作

簡單說一下開通流程。

  • 註冊 極光開發者賬號 ,然後完成 開發者認證 。
  • 選擇要開通極光認證的應用程序,你也可以新建應用 。Android應用需要填寫 應用包名 和 應用簽名,並提供一個 RSA加密公鑰,一鍵登錄的手機號碼將用 RSA 公鑰加密後返回,開發者需使用對應私鑰解密。RSA加密公鑰位數是 1024位,密鑰格式是 PKCS#8 。公鑰對應的私鑰,我們要妥善保管,避免泄露。

應用簽名直接通過命令行獲取。

其中 debug.keystore 替換為你自己的簽名文件。

RSA 公私鑰可以通過 openssl 生成 。

執行後會在當前目錄生成名為 ras_public_key.pem 的公鑰文件。

02集成SDK

推薦直接使用 jcenter 自動依賴。在 module 的 gradle 文件中添加如下依賴:

03Androidmanifest.xml 配置

在清單文件做如下配置。

04初始化

在 Application 中進行初始化。

05API 介紹

直接來看一鍵登錄接口。

使用如下:

6000 代表成功。

但是在實際開發中並不建議直接這樣使用。一鍵登錄需要依賴預取號結果,如果沒有預取號,一鍵登錄時會自動預取號。建議拉起授權頁前,比如在開屏頁或者業務入口頁預先調用一鍵登錄預取號接口進行預取號,可以提升授權頁拉起速度,優化體驗。

一鍵登錄預取號接口如下所示。

返回的 code 為 7000 表示獲取成功。註意,不要在預取號回調中重復調用預取號或者拉起授權頁接口。

另外,在使用前記得判斷當前網絡環境是否支持。

經過我的實測,在僅開啟 Wifi ,關閉數據流量的情況下,是無法進行一鍵登錄的。此時應提示用戶使用賬號密碼或者驗證碼登錄。

06混淆配置

07使用限制

  • 支持國內三大運營商,中國移動、中國聯通、中國電信。由於運營商限制等原因,對於 Web SDK,目前不支持中國聯通
  • 網絡支持中國移動 2G/3G/4G、中國聯通 3G/4G、中國電信 4G 。對於移動端用戶來說必須開啟數據流量
  • 2G網絡下認證失敗率較高
  • 支持雙卡手機,但隻能以打開數據網絡的SIM卡進行認證

以上隻是簡單介紹瞭極光認證的使用,新開通用戶都會贈送 1000 次體驗。更多詳細內容可以參見 官方文檔 ,也可以直接下載 官方 Demo 。相信對於開發者來說,什麼都不如一個 demo 來的實在。

四總結

翻看 aurora-imui 時,發現極光還提供瞭各種服務的插件。

極光認證也提供瞭 Android,IOS,Web,React Native,Flutter,Cordova 等各種版本,滿足開發者的各種需求。

一鍵登錄一定會是未來的趨勢,如果你還沒有瞭解過,那就快來體驗吧 !

關於極光

極光(Aurora Mobile,納斯達克股票代碼:JG)成立於2011年,是中國領先的開發者服務提供商。極光專註於為移動應用開發者提供穩定高效的消息推送、即時通訊、統計分析、極光分享、短信、一鍵認證、深度鏈接等開發者服務。截止到2019年9月份,極光已經為超過50萬移動開發者和138.6萬款移動應用提供服務,其開發工具包(SDK)安裝量累計308億,月度獨立活躍設備13.4億部。同時,極光持續賦能開發者和傳統行業客戶,推出精準營銷、金融風控、市場洞察、商業地理服務產品,致力於為社會和各行各業提高運營效率,優化決策制定。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部