一. 什麼是第三方登錄
所謂的第三方登錄,是說基於用戶在第三方平臺上已有的賬號和密碼來快速完成己方應用的登錄或者註冊的功能。而這裏的第三方平臺,一般是已經擁有大量用戶的平臺,國外的比如Facebook,Twitter等,國內的比如微博、微信、QQ等。
二. 爲什麼要用第三方登錄
第三方登錄之所以會被較爲廣泛地在產品設計上使用,是因爲它有以下幾個優點:
(1)對普通用戶
相比於本地註冊,第三方登錄一般來說比較方便、快捷,能夠顯著降低用戶的註冊和登錄成本,方便用戶實現快捷登錄或註冊。不用費盡心思地應付本地註冊對賬戶名和密碼的各種限制,如果不考慮暱稱的重複性要求,幾乎可以直接一個賬號走遍天下,再也不用在大腦或者什麼地方記住N多不同的網站或App的賬號和密碼,整個世界一下子清靜了。在第一次綁定成功之後,之後用戶便可以實現一鍵登錄,使得後續的登錄操作比起應用內的登錄來容易了很多。對於某些喜歡社交,並希望將更多自己的生活內容展示給朋友的人來說,第三方登錄可以實現把用戶在應用內的活動同步到第三方平臺上,省去了用戶手動發佈動態的麻煩。但對於某些比較注重個人隱私的用戶來說,則會有一些擔憂。
(2)對應用
因爲降低了用戶的註冊或登錄成本,從而減少由於本地註冊的繁瑣性而帶來的隱形用戶流失,最終提高註冊轉化率。對於某些應用來說,使用第三方登錄完全可以滿足自己的需要,因此不必要設計和開發一套自己的賬戶體系。通過授權,可以通過在第三方平臺上分享用戶在應用內的活動在第三方平臺上宣傳自己,從而增加產品知名度。通過授權,可以獲得該用戶在第三方平臺上的好友或粉絲等社交信息,從而後續可以針對用戶的社交關係網進行有目的性的營銷宣傳,爲產品的市場推廣提供另一種渠道。
(3)對第三方
增加用戶對平臺的依賴,用戶越多使用本平臺的第三方登錄,就代表着平臺對該用戶的粘性越高。獲得更廣泛的影響力,只要用戶使用提供第三方登錄的應用,那麼這個提供第三方登錄的品牌就會被用戶瀏覽,有利於對平臺的拉新和促活。
三、實現原理第三方登陸主要是基於oauth協議來實現,下面簡單說下實現流程:
1、首先我們需要以開發者的身份向第三方登陸平臺申請接入應用,申請成功後,我們會獲得一個appID和一個secrectID。
2、當我們的網站需接入第三方登陸時,會引導用戶跳轉到第三方的登陸授權頁面,此時把之前申請的appID和secrectID帶給登陸授權頁面。
3、用戶登陸成功後即得到授權,第三方會返回一個臨時的code給我們的網站。
4、我們的網站接受到code後,再次向我們的第三方發起請求,並攜帶接收的code,從第三方獲取access_token.
5、第三方處理請求後,會返回一個access_token給我們的網站,我們的網站獲取到access_token後就可以調用第三方提供的接口了,比如獲取用戶信息等。最後把該用戶信息存入到我們站點的數據庫,並把信息保存到session中,實現用戶的第三方登陸。
Oauth協議
2、第三方網站向服務商請求一個臨時令牌。
3、服務商驗證第三方網站的身份後,授予一個臨時令牌。
4、第三方網站獲得臨時令牌後,將用戶導向至服務商的授權頁面請求用戶授權,然後這個過程中將臨時令牌和第三方網站的返回地址發送給服務商。
5、用戶在服務商的授權頁面上輸入自己的用戶名和密碼,授權第三方網站訪問所相應的資源。
6、授權成功後,服務商將用戶導向第三方網站的返回地址。
7、第三方網站根據臨時令牌從服務商那裏獲取訪問令牌。
8、服務商根據令牌和用戶的授權情況授予第三方網站訪問令牌。
9、第三方網站使用獲取到的訪問令牌訪問存放在服務商的對應的用戶資源。
分享一篇寫的比較好的文章:http://blog.csdn.net/csdnFML/article/details/49446479
轉自搜狐網:http://mt.sohu.com/20161101/n471988925.shtml