一種面向網(wǎng)頁應(yīng)用的單點登錄方法、裝置和系統(tǒng)的制作方法
【專利說明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別涉及一種面向網(wǎng)頁應(yīng)用的單點登錄方法、裝置和系統(tǒng)。
【【背景技術(shù)】】
[0002]目前大多數(shù)大型互聯(lián)網(wǎng)服務(wù)提供商向智能終端既提供webapp (網(wǎng)頁應(yīng)用)的服務(wù),也提供native app (本地應(yīng)用)的服務(wù)。其中web app是運行于網(wǎng)絡(luò)和標準瀏覽器上,基于網(wǎng)頁技術(shù)開發(fā)實現(xiàn)特定功能的應(yīng)用,native app是基于智能終端的操作系統(tǒng)運行的應(yīng)用。例如百度公司提供的貼吧、知道是web app的產(chǎn)品,百度手機衛(wèi)士是native app的產(chǎn)品,很多產(chǎn)品是既存在web app也存在native app,例如百度地圖、百度視頻等既可以是webapp的產(chǎn)品,也可以是native app的產(chǎn)品。
[0003]用戶在使用web app時,如果需要登錄,瀏覽器在發(fā)送登錄請求時,會收到服務(wù)器端返回的登錄頁面,然后通過頁面重定向、浮層加載或者新建窗口加載該登錄頁面,由用戶在登錄頁面上輸入賬戶名、密碼等登錄信息并提交至服務(wù)器端以完成登錄。即便在智能終端上已經(jīng)存在與要登錄頁面屬于同一服務(wù)提供商(共享同一登錄服務(wù)系統(tǒng))的nativeapp,也需要通過登錄頁面輸入登錄信息。顯然,這種方式操作復(fù)雜,同時也浪費系統(tǒng)資源。
【
【發(fā)明內(nèi)容】
】
[0004]有鑒于此,發(fā)明提供了一種面向web app的單點登錄方法、裝置和系統(tǒng),以便于簡化用戶操作,節(jié)約系統(tǒng)資源。
[0005]具體技術(shù)方案如下:
[0006]本發(fā)明提供了一種面向網(wǎng)頁應(yīng)用的單點登錄方法,該方法包括:
[0007]web頁面上的執(zhí)行模塊獲取到觸發(fā)登錄的事件時,將當前web頁面的統(tǒng)一資源定位符URL地址發(fā)送給本地應(yīng)用;
[0008]本地應(yīng)用將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器,由所述瀏覽器利用所述登錄會話信息和所述web頁面的URL地址進行自動登錄。
[0009]根據(jù)本發(fā)明一優(yōu)選實施方式,該方法還包括:本地應(yīng)用預(yù)先向操作系統(tǒng)注冊第一統(tǒng)一資源標識符URI地址;
[0010]所述將當前web頁面的URL地址發(fā)送給本地應(yīng)用包括:將當前web頁面的URL地址作為query參數(shù)以及將所述第一 URI地址作為路徑生成第二 URI地址,并利用所述第二URI地址發(fā)送加載請求,以便所述操作系統(tǒng)將所述web頁面的URL地址發(fā)送給所述本地應(yīng)用。
[0011]根據(jù)本發(fā)明一優(yōu)選實施方式,所述操作系統(tǒng)將所述web頁面的URL地址發(fā)送給所述本地應(yīng)用包括:
[0012]所述操作系統(tǒng)截獲所述加載請求后,將所述第二 URI地址發(fā)送給所述本地應(yīng)用,所述本地應(yīng)用從所述第二 URI地址中解析出所述web頁面的URL地址。
[0013]根據(jù)本發(fā)明一優(yōu)選實施方式,在所述本地應(yīng)用將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器之前還包括:
[0014]所述本地應(yīng)用對所述web頁面的URL地址進行合法性驗證,如果驗證通過,則繼續(xù)執(zhí)行所述將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器。
[0015]根據(jù)本發(fā)明一優(yōu)選實施方式,所述本地應(yīng)用對所述web頁面的URL地址進行合法性驗證包括:
[0016]所述本地應(yīng)用利用本地配置信息中的合法性驗證標準信息,對所述web頁面的URL地址進行合法性驗證;或者,
[0017]所述本地應(yīng)用將所述web頁面的URL地址信息發(fā)送給驗證服務(wù)器,并從所述驗證服務(wù)器獲取對所述web頁面的URL地址的合法性驗證結(jié)果。
[0018]根據(jù)本發(fā)明一優(yōu)選實施方式,在所述本地應(yīng)用將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器之前,還包括:
[0019]所述本地應(yīng)用判斷當前是否處于登錄狀態(tài),如果是,則獲取當前登錄用戶的登錄會話信息,否則,引導(dǎo)用戶登錄以獲取登錄會話信息。
[0020]根據(jù)本發(fā)明一優(yōu)選實施方式,所述本地應(yīng)用將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器包括:
[0021]所述本地應(yīng)用利用所述登錄會話信息和所述web頁面的URL地址生成新的URL地址,將所述新的URL地址發(fā)送給瀏覽器;其中所述新的URL地址和所述web頁面的URL地址指向同一服務(wù)器。
[0022]根據(jù)本發(fā)明一優(yōu)選實施方式,所述本地應(yīng)用利用所述登錄會話信息和所述web頁面的URL地址生成新的URL地址包括:
[0023]所述本地應(yīng)用將所述web頁面的URL地址作為跳轉(zhuǎn)地址,將所述登錄會話信息作為所述跳轉(zhuǎn)地址的參數(shù)。
[0024]根據(jù)本發(fā)明一優(yōu)選實施方式,將所述新的URL地址發(fā)送給瀏覽器包括:
[0025]所述本地應(yīng)用發(fā)起一個由操作系統(tǒng)定義的、所述瀏覽器支持的系統(tǒng)請求,所述系統(tǒng)請求用于請求所述瀏覽器加載所述新的URL地址。
[0026]根據(jù)本發(fā)明一優(yōu)選實施方式,所述瀏覽器利用所述登錄會話信息和所述web頁面的URL地址進行自動登錄包括:
[0027]所述瀏覽器發(fā)送針對所述新的URL地址的加載請求;
[0028]所述服務(wù)器接收到加載請求后,利用登錄會話信息完成登錄處理,并返回跳轉(zhuǎn)至web頁面的URL地址的響應(yīng)給瀏覽器。
[0029]根據(jù)本發(fā)明一優(yōu)選實施方式,在利用所述登錄會話信息和所述web頁面的URL地址生成新的URL地址之前,還包括對所述登錄會話信息進行加密;其中所述加密包括:所述本地應(yīng)用利用預(yù)先與所述服務(wù)器約定的加密方式和密鑰進行加密,或者本地應(yīng)用將所述登錄會話信息提供給所述服務(wù)器,并獲取所述服務(wù)器返回的加密后的登錄會話信息;
[0030]所述服務(wù)器接收到加載請求后,還包括對所述登錄會話信息進行解密。
[0031]根據(jù)本發(fā)明一優(yōu)選實施方式,所述跳轉(zhuǎn)至web頁面的URL地址的響應(yīng)還包含所述登錄會話信息,以便所述瀏覽器將所述登錄會話信息存入本地cookie文件中。
[0032]本發(fā)明還提供了一種面向網(wǎng)頁應(yīng)用的單點登錄裝置,設(shè)置于本地應(yīng)用,該裝置包括:
[0033]地址獲取單元,用于獲取web頁面上的執(zhí)行模塊提供的當前web頁面的URL地址;
[0034]登錄處理單元,用于將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器,以便于所述瀏覽器利用所述登錄會話信息和所述web頁面的URL地址進行自動登錄。
[0035]根據(jù)本發(fā)明一優(yōu)選實施方式,該裝置還包括:
[0036]注冊單元,用于預(yù)先向操作系統(tǒng)注冊第一 URI地址,以便于所述執(zhí)行模塊將當前web頁面的URL地址作為query參數(shù)以及將所述第一 URI地址作為路徑生成第二 URI地址,并利用所述第二 URI地址發(fā)送加載請求,以便所述操作系統(tǒng)將所述web頁面的URL地址發(fā)送給所述本地應(yīng)用。
[0037]根據(jù)本發(fā)明一優(yōu)選實施方式,該裝置還包括:
[0038]合法性驗證單元,用于對所述web頁面的URL地址進行合法性驗證,如果驗證通過,則允許所述登錄處理單元執(zhí)行所述將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器。
[0039]根據(jù)本發(fā)明一優(yōu)選實施方式,所述合法性驗證單元在對所述web頁面的URL地址進行合法性驗證時,具體執(zhí)行:
[0040]利用本地配置信息中的合法性驗證標準信息,對所述web頁面的URL地址進行合法性驗證;或者,
[0041]將所述web頁面的URL地址信息發(fā)送給驗證服務(wù)器,并從所述驗證服務(wù)器獲取對所述web頁面的URL地址的合法性驗證結(jié)果。
[0042]根據(jù)本發(fā)明一優(yōu)選實施方式,所述登錄處理單元,還用于判斷所述本地應(yīng)用當前是否處于登錄狀態(tài),如果是,則獲取當前登錄用戶的登錄會話信息,否則,引導(dǎo)用戶登錄以獲取登錄會話信息;然后執(zhí)行所述將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器。
[0043]根據(jù)本發(fā)明一優(yōu)選實施方式,所述登錄處理單元在將當前登錄用戶的登錄會話信息和所述web頁面的URL地址發(fā)送給瀏覽器時,具體執(zhí)行:利用所述登錄會話信息和所述web頁面的URL地址生成新的URL地址,將所述新的URL地址發(fā)送給瀏覽器;其中所述新的URL地址和所述web頁面的URL地址指向同一服務(wù)器。
[0044]根據(jù)本發(fā)明一優(yōu)選實施方式,所述登錄處理單元在利用所述登錄會話信息和所述web頁面的URL地址生成新的URL地址時,具體執(zhí)行:將所述web頁面的URL地址作為跳轉(zhuǎn)地址,將所述登錄會話信息作為所述跳轉(zhuǎn)地址的參數(shù)。
[0045]根據(jù)本發(fā)明一優(yōu)選實施方式,所述登錄處理單元在將所述新的URL地址發(fā)送給瀏覽器時,具體執(zhí)行:發(fā)起一個由操作系統(tǒng)定義的、所述瀏覽器支持的系統(tǒng)請求,所述系統(tǒng)請求用于請求所述瀏覽器加載所述新的URL地址。
[0046]根據(jù)本發(fā)明一優(yōu)選實施方式,所述登錄處理單元在利用所述登錄會話信息和所述web頁面的URL地址生成新的URL地址之前,還用于對所述登錄會話信息進行加密;其中