對于注冊后的密碼登錄、第三方登錄,大家可能了解得比較多。如下是密碼登錄和第三方登錄的典型界面,一起來看一看:
那么,你了解驗證碼登錄和SSO(Single Sign On)登錄嗎?無論是在實際工作中,還是在筆試面試中,驗證碼登錄和SSO登錄幾乎都是繞不開的重要問題。
對于一個互聯網人來說,無論是從事何種崗位的工作,都建議來了解這些常見的登錄。今天,我來具體聊下這兩塊,內容不會很復雜,就當是科普性質的介紹。
一. 驗證碼登錄
前幾年,我意外地發現,微信沒有讓用戶感知到密碼的存在。對于熟悉了賬號密碼登錄方式的我們來說,微信用戶居然不需要關注密碼,這一點真是做得太成功了。
另外,你應該有這種體會,你登錄銀行App時,也不需要輸入密碼,只需要輸入手機短信的驗證碼。這可省心多了,免得去記憶密碼。下面,來聊手機驗證碼登錄。
我們來看看知乎網站的登錄界面,如下圖所示:
具體的方式,應該很清楚了:用戶輸入手機號碼,系統給該手機號碼發送驗證碼,用戶收到短信中的驗證碼后,輸入驗證碼作為臨時密碼,從而登錄系統。
為了安全起見,驗證碼都有時效性,一般就幾分鐘,過期無效,這個過期時間通常是在后端設置的。所以,我們要注意,手機的驗證碼千萬不要泄露給別人。
至于后端的開發,那其實也很簡單,核心原理就是觸發發送短信,然后匹配驗證。現在,各種指紋登錄、刷臉登錄、視頻登錄的方式層出不窮,原理都類似。
比如,從上圖可知,除了短信驗證碼,還有語音驗證碼:系統自動給用戶打電話,播報包含驗證碼的語音,用戶聽懂語音中的數字后,作為驗證碼登錄系統。
二. SSO 登錄
關于SSO 登錄,其目的是為了解決多系統的統一一次登錄問題,業界常用單點登錄。我來舉個例子,你就明白了。
剛才我特地驗證了一下:當我登錄淘寶網頁后,打開天貓網頁時,天貓也自動登錄了,這其實就是SSO單點登錄。
從業務上講,淘寶和天貓都是阿里巴巴的親兒子,讓它們共用賬號體系,也是順其自然的事情,用戶也方便多了。
但淘寶和天貓域名不同,存在跨域問題,無法直接實現cookie和session共享,那么淘寶和天貓如何實現SSO呢?
從技術上講,SSO有很多種實現方式,淘寶和天貓的具體實現方式,我們不得而知。下面,我來聊一種典型SSO.
下圖是SSO流程,其中CAS Server是SSO后端,Protected App是淘寶后端,Protected App #2是天貓后端:
我們可以看到,通過SSO, 如果用戶登錄了淘寶,自然就登錄了天貓。如果退出登錄淘寶,天貓自動退出登錄。
SSO的原理并不難,搞懂了SSO, 有利于理解前端和后臺的一些重要知識。SSO也是很多筆試和面試的常見考點。
如果是工作中,你當然可以去網上查一些資料。但是,如果是面試現場,讓你講清SSO登錄原理,也要了如指掌。
好的,關于驗證碼登錄和SSO登錄,先聊這么多,如果大家有疑問,歡迎隨時來交流。今天先這樣,咱們明天見。