1、 什么是第三方登錄
所謂的第三方登錄,是說(shuō)基于用戶在第三方平臺(tái)上已有的賬號(hào)和密碼來(lái)快速完成己方應(yīng)用的登錄或者注冊(cè) 的功能。而這里的第三方平臺(tái),一般是已經(jīng)擁有大量用戶的平臺(tái),國(guó)外的比如Facebook,Twitter等,國(guó) 內(nèi)的比如微博、微信、QQ等。下圖為58同城登錄界面
2、 為什么使用第三方登錄
對(duì)用戶而言。相比于本地注冊(cè),第三方登錄一般來(lái)說(shuō)比較 方便、快捷,能夠顯著降低用戶的注冊(cè)和登錄成本
對(duì)應(yīng)用而言。降低了用戶的注冊(cè)或登錄成本,從而減少由于本地注冊(cè)的繁瑣性而帶來(lái)的隱形用戶流失,最終 提高注冊(cè)轉(zhuǎn)化率
對(duì)第三方平臺(tái)而言。增加用戶對(duì)平臺(tái)的依賴。
3、 使用第三方登錄需要注意
一旦自己的第三方賬戶出現(xiàn)問(wèn)題,比如被第三方平臺(tái)封號(hào),或者賬號(hào)被盜,則會(huì)發(fā)生相應(yīng)的應(yīng)用內(nèi)。這個(gè)時(shí)候即使注冊(cè)一個(gè)新賬戶,之前在應(yīng)用內(nèi)所有的記錄也是無(wú)法恢復(fù)的。
對(duì)于有自己本地注冊(cè)需求,并且提供第三方登錄的應(yīng)用而言,需要考慮第三方賬號(hào)和本地賬號(hào)對(duì)接問(wèn)題。
4、 OAuth2.0協(xié)議
OAuth(開(kāi)放 授權(quán))是一個(gè)開(kāi)放標(biāo)準(zhǔn),允許用戶授權(quán)第三方網(wǎng)站訪問(wèn)他們存儲(chǔ)在另外的服務(wù)提供者上的信息,而不需要將用戶名 和密碼提供給第三方網(wǎng)站或分享他們數(shù)據(jù)的所有內(nèi)容。
假設(shè)我們要在58同城中使用微博或者QQ實(shí)現(xiàn)登錄,那么58同城不可能因此將騰訊和新浪的數(shù)據(jù)庫(kù)申請(qǐng)過(guò)來(lái),所以 它只能是申請(qǐng)讓騰訊或新浪幫它確認(rèn)我們?cè)谒麄兡谴嬗匈~號(hào),這個(gè)申請(qǐng)過(guò)程使用的就是OAuth 2.0協(xié)議。
OAuth2.0就是客戶端(58同城)和認(rèn)證服務(wù)器(騰訊新浪等)之間由于相互不信任而產(chǎn)生的一個(gè)授權(quán)協(xié)議。