亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                APP第三方登錄怎么實(shí)現(xiàn)的

                APP第三方登錄怎么實(shí)現(xiàn)的

                在日常使用各個(gè)APP的時(shí)候,大家應(yīng)該都或多或少接觸過與“授權(quán)”有關(guān)的場景。大家有沒有想過在不需要輸入密碼賬號(hào)的情況下,是怎么實(shí)現(xiàn)第三方登錄的呢?本文作者將結(jié)合自己的項(xiàng)目經(jīng)歷來跟大家談?wù)勊赖氖跈?quán)登錄。

                談到授權(quán)登錄,相信大家并不陌生,在日常使用各個(gè)APP的時(shí)候,大家應(yīng)該都或多或少接觸過與“授權(quán)”有關(guān)的場景,比如:進(jìn)入支付寶或微信中某個(gè)子應(yīng)用時(shí)會(huì)出現(xiàn)的彈窗,這些都屬于授權(quán)登錄的范疇。在支付寶和微信所包含服務(wù)越來越多的情況下,這個(gè)功能給我們帶來了極大的便利。

                但不知道大家有沒有想過,這種看似很正常、方便、簡單的功能,是怎么做到在我不輸入任何賬戶密碼信息的情況下實(shí)現(xiàn)第三方服務(wù)賬戶登錄的,而且在登錄之后里面的購物車、訂單記錄還都全部同步了。而且在第一次授權(quán)成功之后,后面的登錄都是直接完成的。

                是因?yàn)槲⑿呕蛘咧Ц秾毮玫讲⒈4媪宋覀兊馁~號(hào)密碼么?那這個(gè)算信息泄露么?

                本文我將就自己的項(xiàng)目經(jīng)歷來談一談我所知道的授權(quán)登錄。

                二、名稱解釋:什么是授權(quán)登錄?

                授權(quán)登錄是指通過一套簡單、安全的交互流程,讓第三方應(yīng)用可以在不知道用戶登錄名和密碼的情況下,獲取到用戶的的對應(yīng)信息,從而實(shí)現(xiàn)在第三方應(yīng)用中的對應(yīng)客戶端的登錄并關(guān)聯(lián)第三方平臺(tái)賬戶。

                也就是說,對于用戶來說,當(dāng)你登錄了一個(gè)APP之后,你再使用這個(gè)APP上的任何第三方服務(wù),都不需要再手動(dòng)輸入一遍第三方服務(wù)對應(yīng)的賬號(hào)密碼。而且在完成第一次登陸后,接下來的一段時(shí)間內(nèi)用戶再使用此服務(wù)都可以實(shí)現(xiàn)無感知登錄。

                三、需求背景:為什么要做授權(quán)登錄?

                (1)縮短用戶操作步驟,降低流失率

                手動(dòng)輸入賬號(hào)密碼如果作為常規(guī)的登錄方式,那么在阻斷用戶操作流程的同時(shí),必然也會(huì)將一部分用戶趕走,故授權(quán)登錄降低了用戶的操作成本,更容易促進(jìn)用戶轉(zhuǎn)化的前提。

                (2)統(tǒng)一接入規(guī)范,把控登錄方式

                因?yàn)楦鲬?yīng)用的頁面是由第三方自己開發(fā)的,所以再風(fēng)格樣式、提供服務(wù)等方面的差異,必然會(huì)導(dǎo)致各服務(wù)的登錄頁面也會(huì)存在著些許差異,例如:在同一個(gè)平臺(tái)上,有的應(yīng)用支持手機(jī)驗(yàn)證碼登錄、有的支持郵箱登錄、有的甚至還支持其他平臺(tái)的賬號(hào)登錄(如:微信里面支持支付寶賬號(hào)快捷登錄),這其實(shí)是不利于整體品牌形象的營造和用戶體驗(yàn)的統(tǒng)一的。

                (3)獲取用戶信息,考慮合規(guī)要求

                授權(quán)登錄在為用戶提供便利的同時(shí)還能獲取更多的信息(如:昵稱、頭像),并且授權(quán)彈窗上的用戶協(xié)議可以避免合規(guī)性風(fēng)險(xiǎn)。

                (4)協(xié)議管理方便,快速簽約解約

                同意授權(quán)登錄之后等于用戶跟平臺(tái)簽訂了一個(gè)允許獲取指定信息的協(xié)議,故授權(quán)登錄功能必然會(huì)帶來協(xié)議管理功能,通過此功能,用戶可以快速的注銷各服務(wù)的賬號(hào)。

                四、前端業(yè)務(wù)流程:授權(quán)登錄相關(guān)的業(yè)務(wù)流程

                1. 授權(quán)登錄流程

              1. 用戶登錄客戶端,進(jìn)入第三方應(yīng)用;
              2. 點(diǎn)擊授權(quán)按鈕,客戶端喚起授權(quán)頁面;
              3. 點(diǎn)擊“同意”授權(quán)按鈕,發(fā)起授權(quán)流程;
              4. 授權(quán)成功,第三方應(yīng)用賬號(hào)登錄并關(guān)聯(lián),進(jìn)行后續(xù)流程;
              5. 授權(quán)失敗,提示“系統(tǒng)繁忙”,退出子應(yīng)用;
              6. 點(diǎn)擊“拒絕”按鈕,直接退出子應(yīng)用。
              7. 2. 查看用戶授權(quán)協(xié)議

              8. 客戶端協(xié)議管理列表頁;
              9. 授權(quán)登錄彈窗。
              10. 3. 解除協(xié)議流程

              11. 用戶登錄客戶端,進(jìn)入到協(xié)議管理列表頁;
              12. 選中想要解約的協(xié)議,進(jìn)入到協(xié)議詳情頁;
              13. 點(diǎn)擊“解除”授權(quán)按鈕,發(fā)起協(xié)議解約;
              14. 解約成功,提示“解約成功”,回到協(xié)議管理列表頁;
              15. 解約失敗,提示“解約失敗”,回到協(xié)議管理列表頁。
              16. 五、關(guān)于后端業(yè)務(wù)流程:授權(quán)登錄相關(guān)后臺(tái)之間的交互

                1. 簡單概括后端交互流程

              17. 用戶進(jìn)入第三方應(yīng)用后觸發(fā)了授權(quán)彈窗,用戶同意授權(quán)后,第三方頁面于是知道了它被允許獲取用戶的相關(guān)信息了;
              18. 但這個(gè)信息第三方那里肯定沒有,而因?yàn)橛脩粢呀?jīng)登錄過客戶端了,客戶端系統(tǒng)肯定存有,所以它需要去找客戶端要用戶信息;
              19. 但在沒有經(jīng)過客戶端系統(tǒng)允許的情況下,第三方不可能直接和客戶端系統(tǒng)交流,因?yàn)橹虚g隔著彈窗(客戶端前端),所以它先讓授權(quán)彈窗去告訴客戶端系統(tǒng),說想聊一聊;
              20. 于是彈窗就去告訴客戶端系統(tǒng),說有人想聊一聊,客戶端系統(tǒng)判斷了下第三方是好人之后同意了,給出了通行證;
              21. 有了這個(gè)通行證之后,雙方系統(tǒng)之間就可以進(jìn)行交流了,也就可以拿到用戶的信息了,從而實(shí)現(xiàn)登錄和關(guān)聯(lián)賬戶。
              22. 2. 其中必要的參數(shù)

                • code:可以看作第三方要發(fā)起授權(quán)所必須取得的通行證,有了這個(gè)通行證,雙方的服務(wù)層才能進(jìn)行交互。當(dāng)?shù)谌角岸苏{(diào)起授權(quán)彈窗時(shí),由客戶端前端獲得后返回給第三方,第三方拿到code后,可以通過后端之間的交互去申請指令派access_token,有效期很短(可能短于5s)。
                • access_token:俗稱指令牌,由客戶端服務(wù)端鑒權(quán)中心根據(jù)code和第三方應(yīng)用信息返回給第三方后端,有了指令牌,第三方就可以申請從客戶端服務(wù)器里獲得用戶信息了,有效期一般較短(如1個(gè)小時(shí))。
                • refresh_token:用以在access_token過期后,重新刷新指令牌的計(jì)時(shí),有效期一般較長(如120天),超過有效期之后,整個(gè)授權(quán)登錄過程就要重新來一遍。
                • openid:用戶的唯一標(biāo)識(shí),通過openid第三方可以從客戶端服務(wù)器拿到對應(yīng)用戶的賬戶信息,從而將其和自己本身的賬號(hào)進(jìn)行關(guān)聯(lián)。

                3. 幾種異常情況

              23. 幾種必要參數(shù)過期或失效;
              24. 用戶狀態(tài)異?!醋缘谌劫~號(hào)、風(fēng)控黑名單等、登錄狀態(tài)異常、未簽約成功;
              25. 商戶狀態(tài)異?!春灱s該產(chǎn)品、權(quán)限不足、第三方應(yīng)用校驗(yàn)不合法;
              26. 授權(quán)、查詢失??;
              27. 系統(tǒng)服務(wù)超時(shí)或不穩(wěn)定。
              28. 六、部分產(chǎn)品相關(guān)的考慮

                1. 數(shù)據(jù)指標(biāo)——注意頁面埋點(diǎn)

              29. 原登錄頁的用戶流失率,和授權(quán)彈窗拒絕按鈕的“點(diǎn)擊/pv”進(jìn)行對比;
              30. 原登錄頁和授權(quán)彈窗的頁面停留時(shí)長進(jìn)行對比;
              31. 購買轉(zhuǎn)化率的前后對比。
              32. 2. 產(chǎn)品體驗(yàn)——部分細(xì)節(jié)

              33. 拒絕授權(quán)增加二次確認(rèn)彈窗,引導(dǎo)用戶同意授權(quán),促進(jìn)用戶的業(yè)務(wù)流程和購買轉(zhuǎn)化;
              34. 用戶授權(quán)協(xié)議頁面增加客服渠道入口,便于有疑問的用戶進(jìn)行咨詢;
              35. 建議將授權(quán)流程后置,讓用戶可以先看到子應(yīng)用里面的營銷元素再進(jìn)行彈窗授權(quán),提高轉(zhuǎn)化;
              36. 傳給商戶手機(jī)號(hào),便于第三方新用戶進(jìn)行注冊時(shí)省去輸入手機(jī)號(hào)這一步;
              37. 所需授予權(quán)限內(nèi)容可以配置,便于其他應(yīng)用進(jìn)行復(fù)用,如:頭像、昵稱、手機(jī)號(hào)、郵箱等。
              38. 分享搭建內(nèi)網(wǎng)服務(wù)器教程

                以CentOS7服務(wù)器為例(其它系統(tǒng)比如ubuntu)

                服務(wù)器配置:2核4G 固態(tài):120G空間 機(jī)械 :1T 臺(tái)式主機(jī)zhu

                一、下載系統(tǒng)鏡像

                下載鏈接:https://opsx.alibaba.com/mirror?lang=zh-CN

                1.選擇下載os鏡像

                2.選擇CentOS7版本

                3.虛擬機(jī),安裝的時(shí)候可以選擇最輕量級的7(x86_64-NetInstall-1810)版本——我的服務(wù)器屬于獨(dú)立的,所有我選擇7(x86_64-DVD-1810)版本

                以上下載軟件需要鏡像刻錄到U盤中,我采用UItralSO進(jìn)行刻錄。

                二、鏡像制作

                請向微信公眾號(hào)發(fā):制作啟動(dòng)盤,會(huì)推送消息給你。

                三、安裝CentOS7系統(tǒng)

                1.插入我們剛剛準(zhǔn)備的制作U啟動(dòng)盤(Centos7系統(tǒng))U盤, 主機(jī)開機(jī)—連續(xù)按住按下鍵盤Del鍵,進(jìn)入主板設(shè)置boot

                2.選擇Hard Drive BBS Priorities界面,選擇Kingston DataTraveler 3.0,在系統(tǒng)Boot Option #1/#2/#3代表系統(tǒng)啟動(dòng)的方式,默認(rèn)為#1為電腦的啟動(dòng)方式

                3.選擇對應(yīng)的系統(tǒng)盤,默認(rèn)采用Kingston DataTraveler 3.0為第一啟動(dòng)盤,然后就是固態(tài)硬盤120G,機(jī)械硬盤排最后。

                4.返回到Boot系統(tǒng),并且對應(yīng)的Boot Option #1選擇Kingston DataTraveler 3.0,Boot Option #2選擇固態(tài)硬盤120G

                5.設(shè)置完成后,按下鍵盤F10鍵在提示是否保存更改并退出時(shí)選擇yes(是)回車退出,OK設(shè)置完成。

                該流程依舊不同的電腦,安裝方式類似。

                6.系統(tǒng)進(jìn)入安裝CentOS7,先使用Test thismedia & install CentOS7(測試這個(gè)媒體并且安裝CentOS7)

                7.以下系統(tǒng)測試界面

                8.選擇系統(tǒng)語言,可以安裝多種語音方式,但是默認(rèn)采用英文,本機(jī)安裝為:簡體中文—-點(diǎn)擊右下角的”確認(rèn)”鍵

                9.選擇日期和時(shí)間—上海時(shí)區(qū)–返回系統(tǒng)設(shè)置界面

                10.鍵盤語言:漢語

                11.軟件選擇,最小安裝—右邊全選—左上角確認(rèn)–返回系統(tǒng)設(shè)置界面

                12.安裝位置:選擇安裝目標(biāo)位置,本機(jī)以固態(tài)120G為主盤,機(jī)械盤為副盤,該操作會(huì)格式系統(tǒng)內(nèi)的所有數(shù)據(jù),盡量采用有數(shù)據(jù)的硬盤

                13.勾選兩個(gè)盤,會(huì)彈出安裝選項(xiàng)—-選擇回收空間

                14.然后彈出回收硬盤空間,出現(xiàn)對應(yīng)的盤,選擇—全部刪除–點(diǎn)擊回收空間—右上角的確認(rèn)–返回系統(tǒng)設(shè)置界面

                15.選擇獲取網(wǎng)絡(luò)和主機(jī)名(記住ip地址:192.168.0.102固定的,需要遠(yuǎn)程連接時(shí)候用到)—打開右上角的開關(guān)–返回系統(tǒng)設(shè)置界面

                16.系統(tǒng)直接安裝,并且進(jìn)入用戶設(shè)置功能

                17.選擇root密碼設(shè)置,這個(gè)是系統(tǒng)最高權(quán)限的使用者,必須設(shè)置,并且記住密碼,防止忘記密碼。—左上角確認(rèn)–返回用戶設(shè)置界面

                18.創(chuàng)建用戶–該設(shè)置可以創(chuàng)建不同角色的人,但是只能訪問對應(yīng)的目錄,看你如何設(shè)置–返回用戶設(shè)置界面

                19.返回操作,系統(tǒng)自動(dòng)安裝–等待安裝情況。

                20.進(jìn)入操作命令界面

                21.采用遠(yuǎn)程連接這臺(tái)搭建的centos7系統(tǒng)

                22.確定后,自動(dòng)連接到本地服務(wù)器。

                以上Centos7為例,該制作啟動(dòng)盤唯一不同之處在于鏡像不相同,但是操作原理一樣。

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月18日 09:07
                下一篇 2022年6月18日 09:07

                相關(guān)推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息