溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實現(xiàn)用戶一鍵登錄

發(fā)布時間:2021-10-09 15:28:37 來源:億速云 閱讀:657 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“如何實現(xiàn)用戶一鍵登錄”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

我們先來看一下目前的一些登錄方式:

賬號、密碼登陸

如何實現(xiàn)用戶一鍵登錄如何實現(xiàn)用戶一鍵登錄

使用賬號加密碼是最傳統(tǒng)的登錄方式,可以說是簡單粗暴的,一般也不會出現(xiàn)什么問題。

缺點

但這種方式要求用戶要記住自己的賬號和密碼,也就是有一個記憶成本。用戶為了降低記憶成本,很可能會在不同平臺使用同一套賬號密碼。從安全角度考慮,一旦某個平臺的賬號密碼泄露了,會連累到該用戶使用的其他平臺。
另外,由于賬號和個人身份無關(guān),意味著同一個用戶可以注冊多個不同的賬號,也就是可能會有惡意注冊的情況發(fā)生。
為解決這兩個問題,理想的情況就是使用一個和用戶身份強關(guān)聯(lián)的東西來作為賬號。但用什么呢?總不能拿身份證做賬號吧。
這個問題一直沒有一個好的回答,直到手機卡強制實名制。

手機號、驗證碼登陸

如何實現(xiàn)用戶一鍵登錄

從手機卡實名制開始,手機號已經(jīng)成為我們的另一個身份證明。
使用手機號加驗證碼的登錄方式目前已經(jīng)成為主流,和輸入賬號密碼相比,它可以更好的驗證用戶身份,可以防止惡意注冊,用戶不用再去記自己的賬號密碼,增加了安全性?,F(xiàn)在用戶也習(xí)慣并接受了這種登錄方式。
現(xiàn)在很多產(chǎn)品還把登錄和注冊的流程進行了結(jié)合,如果登錄時服務(wù)器發(fā)現(xiàn)手機號還未注冊,會直接用這個手機號注冊好再進行登錄,注冊過程對用戶是無感的,極大簡化了注冊流程。

缺點
這種登錄方式需要進行一系列的操作:輸入手機號、等待驗證碼短信、輸入驗證碼、點擊登錄。這整個流程走完可能需要 20 秒以上,操作也比較繁瑣。并且它是依賴短信網(wǎng)絡(luò)的,因為如果收不到短信,也就登錄不了了。這些問題可能造成一部分用戶在注冊階段就流失了。
從安全角度考慮,還存在驗證碼泄漏的風(fēng)險。如果有人知道了你的手機號,并且竊取到了驗證碼,那他也能登錄你的賬號了。
但回過頭來想一下,為什么我們需要驗證碼?驗證碼的作用就是確定這個手機號是你的,那除了使用短信,是否還有別的方式對手機號進行認(rèn)證?

本機號碼認(rèn)證

如何實現(xiàn)用戶一鍵登錄

如果能獲取到當(dāng)前使用的手機號,就能對用戶輸入的號碼進行驗證了。但出于安全考慮,客戶端是無法直接獲取到手機號的,運營商則可以通過 sim 卡數(shù)據(jù)查詢到。
現(xiàn)在運營商已經(jīng)開放了相關(guān)的能力,現(xiàn)在我們可以在用戶輸入手機號后,通過調(diào)用運營商的接口,判斷用戶輸入的手機號是否和本地號碼一致。這樣一來,用戶就省去了等待驗證碼短信、輸入驗證碼的過程,也不受短信網(wǎng)絡(luò)的限制,簡化了登錄流程。
但再進一步想,如果運營商可以把當(dāng)前的號碼直接返回給我們,而不只是用于驗證,那用戶連手機號都不需要填了。
于是,就有了今天的主角一鍵登錄。

一鍵登錄

如何實現(xiàn)用戶一鍵登錄

獲取到當(dāng)前手機使用的手機卡號,直接使用這個號碼進行登錄,這就是一鍵登錄。
這種登錄方式的好處是顯而易見的。它可以更方便、快捷地完成注冊、登錄流程,將原本可能需要 20 秒的流程,縮短到了 2 秒左右,很大程度上降低了登錄環(huán)節(jié)的用戶流失。
一鍵登錄能不能做,取決于運營商是否開放相關(guān)服務(wù),這也是為什么過去沒有一鍵登錄,直到最近三大運營商都有了自己的開放平臺:

  • 移動 - 互聯(lián)網(wǎng)能力開放平臺

  • 電信 - 天翼賬號開放平臺

  • 聯(lián)通 - WO+ 開放平臺
    要使用一鍵登錄,需要接入運營商的 SDK,三大運營商使用了同一套授權(quán)流程:

如何實現(xiàn)用戶一鍵登錄

主要步驟如下:

  • SDK 初始化
    調(diào)用 SDK 的初始化方法,傳入項目在平臺上的 AppKey 和 AppSecret。

  • 喚起授權(quán)頁
    調(diào)用 SDK 喚起授權(quán)接口。SDK 會先向運營商發(fā)起獲取手機號掩碼的請求,請求成功后跳轉(zhuǎn)到授權(quán)頁。授權(quán)頁會顯示手機號掩碼以及運營商協(xié)議給用戶確認(rèn)。

  • 同意授權(quán)并登錄
    用戶同意相關(guān)協(xié)議,點擊授權(quán)頁面的登錄按鈕,SDK 會請求本次取號的 token,請求成功后將 token 返回給客戶端。

  • 取號
    將獲取到的 token 發(fā)送到我們自己的服務(wù)器,由服務(wù)器攜帶 token 調(diào)用運營商一鍵登錄的接口,調(diào)用成功就返回手機號碼了。服務(wù)器用手機號進行登錄或注冊操作,返回操作結(jié)果給客戶端,完成一鍵登錄。
    這里需要把授權(quán)頁拎出來講一下,它一般長這樣:
    如何實現(xiàn)用戶一鍵登錄
    授權(quán)頁是 SDK 里定義的頁面,以安卓為例,接入 SDK 后我們需要在 AndroidManifest 里注冊好這個頁面。我們不能也不應(yīng)該跳過授權(quán)頁面,未經(jīng)用戶允許就獲取用戶手機號。
    由于授權(quán)頁是第三方的頁面,我們無法自由修改頁面樣式,但 SDK 里提供了足夠豐富的接口給我們自定義樣式。
    前面說到,在授權(quán)頁顯示之前需要先請求到手機號掩碼,用于在授權(quán)頁展示。為了增加授權(quán)頁的跳轉(zhuǎn)速度,減少用戶等待的時間,通常 SDK 會提供一個預(yù)取號的接口給我們,這個接口取的就是手機號掩碼。我們可以在打開 APP 的時候就調(diào)用這個接口,在已經(jīng)取得掩碼的情況下,用戶點擊跳轉(zhuǎn)授權(quán)頁面就不需要再等待了。算是對用戶體驗的一個小優(yōu)化。
    在認(rèn)證過程中,會把網(wǎng)絡(luò)切換為移動蜂窩網(wǎng)絡(luò),目前支持的制式有中國移動 2G/3G/4G、中國聯(lián)通 3G/4G、中國電信 4G。當(dāng)然最好是使用 4G,使用 2G、3G 會降低認(rèn)證的成功率。
    在沒有插電話卡,或者關(guān)閉移動蜂窩網(wǎng)絡(luò)的情況下,是無法完成認(rèn)證的。所以就算接入了一鍵登錄,我們也要兼容傳統(tǒng)的登錄方式,允許用戶在認(rèn)證失敗的情況下,手動輸入手機號登錄。
    三家運營商都擁有自己的 SDK,但各自的 SDK 不一定支持別家的認(rèn)證。這導(dǎo)致目前許多接入了一鍵登錄的產(chǎn)品,只支持某一個運營商。
    如果要兼容三大運營商,就需要分別接入三個 SDK?,F(xiàn)在我們也有更簡單的方法,就是接入一個整合了三大運營商認(rèn)證能力的第三方 SDK,目前主要有以下幾家:

  • 阿里 - 號碼認(rèn)證服務(wù)

  • 極光 - 極光認(rèn)證

  • mob - 秒驗
    原理和使用方法基本都是一樣的,具體大家可以查看它們的文檔。
    講一下我們比較關(guān)心的價格問題,我了解了運營商和上面提到那幾家的計價,認(rèn)證一次的價格集中在 4 到 6 分錢不等,其中最便宜的是 mob 的秒驗。但價格可能會變化,這里就不具體討論了。
    一般是成功置換到手機號算一次計費,調(diào)用預(yù)取號接口和認(rèn)證失敗,都是不計費的。
    總的來說,一鍵登錄和發(fā)送驗證短信的價格差不多。發(fā)送短信是發(fā)送一條就計費一次,但用戶存在需要多次獲取驗證碼才能登錄成功的情況。而一鍵登錄能置換到手機號,基本就意味著登錄成功了。所以從次數(shù)上考慮,接入一鍵登錄應(yīng)該還能稍微省一點。
    目前,一鍵登錄處于剛起步的階段,運營商的認(rèn)證服務(wù)還需要改進,對于用戶也還有一個被接受的過程。
    但毫無疑問,一鍵登錄將會成為未來的主流登陸方式之一。

“如何實現(xiàn)用戶一鍵登錄”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI