專利名稱:基于二維碼的登錄控制方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)互聯(lián)技術(shù)領(lǐng)域,特別涉及一種基于二維碼的登錄控制方法和系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)的普及與發(fā)展,帶來(lái)了大量的網(wǎng)絡(luò)服務(wù)提供商。很多網(wǎng)絡(luò)服務(wù)提供商都提供了登錄功能,有些服務(wù)需要用戶登錄之后才有權(quán)限獲得。
現(xiàn)有網(wǎng)絡(luò)服務(wù)提供的用戶登錄系統(tǒng)的基本實(shí)現(xiàn)方法如下步驟S1:用戶請(qǐng)求登錄時(shí),由網(wǎng)絡(luò)服務(wù)的客戶端系統(tǒng),如瀏覽器端網(wǎng)頁(yè)向用戶展示一個(gè)登錄界面。步驟S2 :用戶在登錄界面上輸入一個(gè)用戶賬號(hào)信息,包括如用戶名、郵箱地址、賬號(hào)或手機(jī)號(hào)的一種或多種,以及對(duì)應(yīng)的用戶密碼、驗(yàn)證碼等,有些服務(wù)提供商為了加強(qiáng)安全性,還需要用戶再輸入系統(tǒng)隨機(jī)生成的驗(yàn)證碼,用戶完成輸入后請(qǐng)求登錄。步驟S3 :網(wǎng)絡(luò)服務(wù)的客戶端系統(tǒng)將用戶在登錄界面中輸入的內(nèi)容以及界面中自帶的一些其他信息發(fā)送到網(wǎng)路服務(wù)的服務(wù)器端進(jìn)行登錄認(rèn)證。步驟S4:服務(wù)器端接收到用戶的登錄請(qǐng)求后,對(duì)用戶提供的用戶賬號(hào)、密碼以及驗(yàn)證碼等信息的有效性進(jìn)行認(rèn)證。步驟S5 :如果認(rèn)證通過,則服務(wù)器端為該用戶建立一個(gè)登錄會(huì)話信息并進(jìn)行記錄,同時(shí)將必要的會(huì)話信息返回給客戶端系統(tǒng)進(jìn)行緩存。之后,用戶通過客戶端系統(tǒng)向服務(wù)器端發(fā)起的用戶請(qǐng)求中都會(huì)攜帶該會(huì)話信息,以便服務(wù)器端對(duì)當(dāng)前登錄用戶身份進(jìn)行識(shí)另|J。如果認(rèn)證沒有通過,則向客戶端系統(tǒng)直接返回錯(cuò)誤信息。如上述所述,現(xiàn)有的大多數(shù)所有網(wǎng)絡(luò)服務(wù)的用戶登錄系統(tǒng)的登陸需要較多的用戶輸入。用戶在每次登錄過程中至少輸入一次用戶賬號(hào)和密碼,有些網(wǎng)站還要求用戶輸入驗(yàn)證碼。其中,很多網(wǎng)絡(luò)服務(wù)為了保證用戶賬戶的信息的安全性,需要用戶設(shè)置一個(gè)相對(duì)復(fù)雜的密碼以保證足夠的密碼強(qiáng)度,因此用戶記憶賬號(hào)、密碼的成本很高,還會(huì)經(jīng)常出現(xiàn)忘記賬號(hào)、密碼的情況。并且驗(yàn)證碼一般由系統(tǒng)隨機(jī)生成,用戶體驗(yàn)一般較差。尤其對(duì)于平板電腦等無(wú)外設(shè)鍵盤的移動(dòng)設(shè)備,大量的輸入給用戶帶來(lái)許多不便。另外,一旦用戶誤入釣魚網(wǎng)站進(jìn)行登錄,或設(shè)備受木馬病毒感染,那么輸入的賬號(hào)、密碼就存在被竊取的風(fēng)險(xiǎn),安全性也比較低,尤其是對(duì)于在非個(gè)人設(shè)備,如網(wǎng)吧用戶而言,用戶信息安全性非常低。
發(fā)明內(nèi)容
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明的一個(gè)目的在于提出一種基于二維碼的登錄控制方法。本方法用戶登錄輸入少,操作成本低,改善了用戶體驗(yàn),安全性高。本發(fā)明的第二個(gè)目的在于提出一種基于二維碼的登錄控制系統(tǒng)。
為達(dá)到上述目的,本發(fā)明第一方面的實(shí)施例提出了一種基于二維碼的登錄控制方法,包括以下步驟第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求,其中,所述登錄請(qǐng)求包括所述第一客戶端的地址和所述用戶登錄之后的回跳地址;所述第一客戶端通過第二應(yīng)用程序或插件對(duì)所述第一客戶端的地址進(jìn)行偵聽;所述云端服務(wù)器為所述登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)所述標(biāo)識(shí)串、所述第一客戶端的地址和所述回跳地址生成二維碼;所述云端服務(wù)器將所述二維碼發(fā)送至所述第一客戶端并通過所述第一客戶端進(jìn)行顯示;所述云端服務(wù)器接收第二客戶端拍攝并解析所述二維碼之后,向所述云端服務(wù)器發(fā)送的代理登陸請(qǐng)求,其中,所述代理登陸請(qǐng)求包括所述用戶的身份信息;所述云端服務(wù)器根據(jù)所述代理登陸請(qǐng)求對(duì)所述用戶進(jìn)行身份認(rèn)證,并將身份認(rèn)證結(jié)果發(fā)送至所述第二客戶端;所述第二客戶端根據(jù)所述第一客戶端的地址向所述第一客戶端發(fā)送身份認(rèn)證結(jié)果和所述回跳地址;所述第一客戶端的第二應(yīng)用程序或插件獲得所述身份認(rèn)證結(jié)果和所述回跳地址并發(fā)送至所述第一應(yīng)用程序,所述第一應(yīng)用程序根據(jù)所述身份認(rèn)證結(jié)果和所述回跳地址進(jìn)行頁(yè)面的重定向。根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制方法,第一客戶端通過第一應(yīng)用程序 向云端服務(wù)器發(fā)送請(qǐng)求消息,并接受云端服務(wù)器發(fā)送的二維碼,第二客戶端從第一客戶端得到二維碼并發(fā)送代理登錄請(qǐng)求,第二客戶端將云端服務(wù)器進(jìn)行身份認(rèn)證結(jié)果返回第一客戶端,第一客戶端的第二應(yīng)用程序或插件接收并發(fā)送至第一應(yīng)用程序從而完成登錄。本方法充分第二客戶端的功能和資源優(yōu)勢(shì),不需要用戶每次登錄都輸入相關(guān)用戶名、密碼,降低用戶的登錄的操作成本,提升了用戶體驗(yàn),簡(jiǎn)單高效的同時(shí)也降低了被釣魚、木馬竊取密碼等風(fēng)險(xiǎn),保障了用戶賬號(hào)安全性。在本發(fā)明的一個(gè)實(shí)施例中,所述代理登陸請(qǐng)求包括所述標(biāo)識(shí)串。在本發(fā)明的一個(gè)實(shí)施例中,還包括所述云端服務(wù)器對(duì)所述代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,如果所述標(biāo)識(shí)串或身份信息無(wú)效,則所述云端服務(wù)器向所述第二客戶端返回錯(cuò)誤信息。在本發(fā)明的一個(gè)實(shí)施例中,還包括所述云端服務(wù)器判斷是否存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,所述數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息;如果判斷存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),則向所述第二客戶端返回錯(cuò)誤信息;如果判斷未存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)所述代理登陸請(qǐng)求判斷所述用戶通過認(rèn)證,則以所述標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并向所述第二客戶端返回登錄成功信息。在本發(fā)明的一個(gè)實(shí)施例中,所述第二客戶端為移動(dòng)終端。本發(fā)明第二方面的實(shí)施例提出了一種基于二維碼的登錄控制系統(tǒng),包括第一客戶端、第二客戶端和云端服務(wù)器。其中,所述第一客戶端包括第一應(yīng)用程序,第二應(yīng)用程序或插件用于通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求,其中,所述登錄請(qǐng)求包括所述第一客戶端的地址和所述用戶登錄之后的回跳地址,并通過第二應(yīng)用程序或插件對(duì)所述第一客戶端的地址進(jìn)行偵聽,以及所述第二應(yīng)用程序或插件獲得所述身份認(rèn)證結(jié)果和所述回跳地址并發(fā)送至所述第一應(yīng)用程序,所述第一應(yīng)用程序根據(jù)所述身份認(rèn)證結(jié)果和所述回跳地址進(jìn)行頁(yè)面的重定向;所述云端服務(wù)器用于為所述登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)所述標(biāo)識(shí)串、所述第一客戶端的地址和所述回跳地址生成二維碼,和將所述二維碼發(fā)送至所述第一客戶端,以及接收根據(jù)所述第二客戶端發(fā)送的代理登陸請(qǐng)求對(duì)所述用戶進(jìn)行身份認(rèn)證,并將身份認(rèn)證結(jié)果發(fā)送至所述第二客戶端;第二客戶端用于對(duì)所述第一客戶端顯示的二維碼進(jìn)行拍攝,并對(duì)在解析所述二維碼之后向所述云端服務(wù)器發(fā)送代理登陸請(qǐng)求,其中,所述代理登陸請(qǐng)求包括所述用戶的身份信息,以及根據(jù)所述第一客戶端的地址向所述第一客戶端發(fā)送身份認(rèn)證結(jié)果和所述回跳地址。根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制系統(tǒng),第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送請(qǐng)求消息,并接受云端服務(wù)器發(fā)送的二維碼,第二客戶端從第一客戶端得到二維碼并發(fā)送代理登錄請(qǐng)求,第二客戶端將云端服務(wù)器進(jìn)行身份認(rèn)證結(jié)果返回第一客戶端,第一客戶端的第二應(yīng)用程序或插件接收并發(fā)送至第一應(yīng)用程序從而完成登錄。本系統(tǒng)充分第二客戶端的功能和資源優(yōu)勢(shì),不需要用戶每次登錄都輸入相關(guān)用戶名、密碼,降低用戶的登錄的操作成本,提升了用戶體驗(yàn),簡(jiǎn)單高效的同時(shí)也降低了被釣魚、木馬竊取密碼等風(fēng)險(xiǎn),保障了用戶賬號(hào)安全性。
在本發(fā)明的一個(gè)實(shí)施例中,所述代理登陸請(qǐng)求包括所述標(biāo)識(shí)串。在本發(fā)明的一個(gè)實(shí)施例中,所述云端服務(wù)器還用于對(duì)所述代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,并在所述標(biāo)識(shí)串或身份信息無(wú)效時(shí)向所述第二客戶端返回錯(cuò)誤信
肩、O在本發(fā)明的一個(gè)實(shí)施例中,所述云端服務(wù)器,還用于判斷是否存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,所述數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息,以及在判斷存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng)時(shí),向所述第二客戶端返回錯(cuò)誤信息,并在判斷未存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)所述代理登陸請(qǐng)求判斷所述用戶通過認(rèn)證時(shí),以所述標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并向所述第二客戶端返回登錄成功信息。在本發(fā)明的一個(gè)實(shí)施例中,所述第二客戶端為移動(dòng)終端。本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中圖1是根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制方法的一個(gè)實(shí)例的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制系統(tǒng)的結(jié)構(gòu)示意圖;和圖4是根據(jù)本發(fā)明實(shí)施例的云端服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。下面參考圖1描述根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制方法,包括以下步驟步驟SllO :第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求,其中,登錄請(qǐng)求包括第一客戶端的地址和用戶登錄之后的回跳地址。步驟S120 :云端服務(wù)器為登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)標(biāo)識(shí)串、第一客戶端的地址和回跳地址生成二維碼。步驟S130 :云端服務(wù)器將二維碼發(fā)送至第一客戶端并通過第一客戶端進(jìn)行顯示。步驟S140 :第一客戶端通過第二應(yīng)用程序或插件對(duì)第一客戶端的地址進(jìn)行偵聽。步驟S150 :云端服務(wù)器接收第二客戶端拍攝并解析二維碼之后,向云端服務(wù)器發(fā)送的代理登陸請(qǐng)求,其中,代理登陸請(qǐng)求包括用戶的身份信息。其中,代理登陸請(qǐng)求還可以包括標(biāo)識(shí)串。第二客戶端可以為移動(dòng)終端。步驟S160 :云端服務(wù)器根據(jù)代理登陸請(qǐng)求對(duì)用戶進(jìn)行身份認(rèn)證,并將身份認(rèn)證結(jié) 果發(fā)送至第二客戶端。在本發(fā)明的一個(gè)實(shí)施例中,還包括云端服務(wù)器對(duì)代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,如果標(biāo)識(shí)串或身份信息無(wú)效,則云端服務(wù)器向第二客戶端返回錯(cuò)誤信息。在本發(fā)明的一個(gè)實(shí)施例中,還包括步驟S161 :云端服務(wù)器判斷是否存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息。步驟S162 :如果判斷存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),則向第二客戶端返回錯(cuò)誤信息。步驟S163 :如果判斷未存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)代理登陸請(qǐng)求判斷用戶通過認(rèn)證,則以標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并向第二客戶端返回登錄成功信
肩、O步驟S170 :第二客戶端根據(jù)第一客戶端的地址向第一客戶端發(fā)送身份認(rèn)證結(jié)果和回跳地址。步驟S180 :第一客戶端的第二應(yīng)用程序或插件獲得身份認(rèn)證結(jié)果和回跳地址并發(fā)送至第一應(yīng)用程序,第一應(yīng)用程序根據(jù)身份認(rèn)證結(jié)果和回跳地址進(jìn)行頁(yè)面的重定向。下面根據(jù)圖2以一個(gè)實(shí)例對(duì)基于二維碼的登錄控制方法進(jìn)行具體介紹??梢岳斫獾氖?,下述說明僅出于示例目的,本發(fā)明的實(shí)施例不限于此。圖2將方法中的步驟以角色進(jìn)行劃分,以便將第一客戶端A、云端服務(wù)器和第二客戶端B在方法中的步驟和流程更直觀的進(jìn)行展示。步驟S210 :用戶以非登錄身份訪問服務(wù)提供商提供的某網(wǎng)絡(luò)服務(wù),如某網(wǎng)站的貼吧。步驟S211 :用戶進(jìn)入第一客戶端A,通過第一應(yīng)用程序向服務(wù)端發(fā)送網(wǎng)絡(luò)請(qǐng)求。用戶可以點(diǎn)擊界面元素,如登錄鏈接或登錄按鈕進(jìn)入第一應(yīng)用程序。其中,第一客戶端A上的第一應(yīng)用程序可以為PC或筆記本等設(shè)備上的某登錄系統(tǒng)客戶端模塊。其中,登錄請(qǐng)求包括第一客戶端的地址和用戶登錄之后的回跳地址?;靥刂窞橛脩舻卿浐笮枰靥牡刂沸畔ⅲ谝粦?yīng)用程序?qū)⒋说刂钒l(fā)送至云端服務(wù)器進(jìn)行編碼以使得第二客戶端可以得到回跳地址信息。步驟S220 :網(wǎng)絡(luò)服務(wù)提供商的云端服務(wù)器接收用戶發(fā)送的登錄請(qǐng)求。步驟S221 :云端服務(wù)器通過現(xiàn)有技術(shù)生成全局唯一的標(biāo)識(shí)串RS和二維碼QR,并將QR等數(shù)據(jù)返回至第一客戶端A。二維碼QR由RS、第一客戶端A的IP地址和回跳地址等信息生成。第一客戶端A的IP地址可以包括網(wǎng)絡(luò)端口號(hào)PORT,網(wǎng)絡(luò)端口號(hào)為預(yù)定義。步驟S230 :第一客戶端A接收二維碼圖片并在用戶登錄界面上進(jìn)行顯示。步驟S231 :第一客戶端A通過第二應(yīng)用程序或插件在預(yù)定義的網(wǎng)絡(luò)端口上偵聽網(wǎng)絡(luò)連接請(qǐng)求。例如插件可以是瀏覽器插件。第二應(yīng)用程序或插件啟動(dòng)后,在預(yù)定義網(wǎng)絡(luò)端口 PORT上偵聽網(wǎng)絡(luò)連接請(qǐng)求。步驟S240 :用戶打開安裝第二客戶端B,其中,第二客戶端B為移動(dòng)設(shè)備上的登錄代理應(yīng)用程序。步驟S241 :第二客戶端B通過攝像頭掃描第一客戶端A上顯示的二維碼圖片。步驟S242 :通過現(xiàn)有技術(shù)對(duì)掃描的二維碼圖片進(jìn)行識(shí)別、解碼,得到唯一標(biāo)識(shí)串 RS、第一客戶端A的網(wǎng)絡(luò)地址、以及所偵聽的網(wǎng)絡(luò)端口號(hào)PORT和用戶登錄成功后的回跳地址等數(shù)據(jù)。步驟S243:確定用戶以何種用戶身份登錄在第一客戶端A上所訪問的服務(wù)。其中,用戶身份可以通過用戶交互操作或讀取服務(wù)的緩存數(shù)據(jù)得到。如用戶交互操作可以是用戶從保存在本地存儲(chǔ)系統(tǒng)中的多個(gè)用戶賬號(hào)中進(jìn)行選擇,或接收用戶輸入的賬號(hào)和密碼。步驟S244:向云端服務(wù)器發(fā)送包括RS、用戶身份信息等數(shù)據(jù)的代理登錄處理請(qǐng)求。其中,用戶身份信息包括如用戶名、密碼,或已登錄用戶的會(huì)話信息。步驟S250 :云端服務(wù)器接收代理登錄請(qǐng)求。步驟S251 :判斷RS和用戶身份信息的有效性。步驟S252 :如果其中任意一個(gè)數(shù)據(jù)被判斷無(wú)效,則云端服務(wù)器向第二客戶端B返回錯(cuò)誤信息。步驟S253 :如果都有效,云端服務(wù)器判斷中是否已存在以RS為索弓丨,以用戶登錄會(huì)話信息(SESSION信息)為值的鍵值對(duì)數(shù)據(jù)項(xiàng)。步驟S254 :如果存在,則云端服務(wù)器返回錯(cuò)誤信息至第二客戶端B。步驟S255 :如果不存在,則云端服務(wù)器將用戶狀態(tài)置為登錄狀態(tài)。步驟S256 :創(chuàng)建一個(gè)包含該用戶身份信息的登錄會(huì)話,保存〈RS,登錄會(huì)話信息>鍵值對(duì).并向第二客戶端B返回登錄會(huì)話信息。信息包括身份認(rèn)證結(jié)果和回跳地址。步驟S260 :第二客戶端B接收云端服務(wù)器返回的信息。步驟S261 :如果第二客戶端B接收到云端服務(wù)器返回錯(cuò)誤信息,進(jìn)行錯(cuò)誤提示,并引導(dǎo)用戶重新進(jìn)行登錄。步驟S262 :如果接收到用戶登錄會(huì)話信息,則與第一客戶端A建立網(wǎng)絡(luò)連接,并將用戶登錄會(huì)話信息和回跳地址發(fā)送至第一客戶端A。其中,第二客戶端B通過之前獲取的第一客戶端A的IP地址及端口號(hào)PORT,與第一客戶端A建立網(wǎng)絡(luò)連接。步驟S270 :第一客戶端A的第二應(yīng)用程序或插件獲得身份認(rèn)證結(jié)果和回跳地址并發(fā)送至第一應(yīng)用程序,第一應(yīng)用程序根據(jù)身份認(rèn)證結(jié)果和回跳地址進(jìn)行頁(yè)面的重定向。第一應(yīng)用程序?qū)⒂脩舻卿洉?huì)話信息存儲(chǔ)到本模塊的相應(yīng)存儲(chǔ)空間里,并重定向回之前訪問的網(wǎng)頁(yè)。根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄方法,第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送請(qǐng)求消息,云端服務(wù)器根據(jù)登錄請(qǐng)求消息生成并發(fā)送二維碼,第二客戶端從第一客戶端顯示的二維碼中獲取并解析其中信息,發(fā)送代理登錄請(qǐng)求,云端服務(wù)器對(duì)代理登錄請(qǐng)求進(jìn)行身份認(rèn)證,將結(jié)果返回第二客戶端,第二客戶端發(fā)送結(jié)果至第一客戶端的第二應(yīng)用程序或插件,第一客戶端的第二應(yīng)用程序或插件接收并發(fā)送至第一應(yīng)用程序從而完成登錄并訪問請(qǐng)求的頁(yè)面。本方法充分第二客戶端的功能和資源優(yōu)勢(shì),不需要用戶每次登錄都輸入相關(guān)用戶名、密碼,降低用戶的登錄的操作成本,提升了用戶體驗(yàn),簡(jiǎn)單高效的同時(shí)也降低了被釣魚、木馬竊取密碼等風(fēng)險(xiǎn),保障了用戶賬號(hào)安全性。下面參考圖3描述根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制系統(tǒng)100,包括第一客戶端110、第二客戶端120和云端服務(wù)器130。其中,第一客戶端110包括第一應(yīng)用程序111和第二應(yīng)用程序或插件112,第一客戶端110用于通過第一應(yīng)用程序111向云端服務(wù)器130發(fā)送登錄請(qǐng)求,其中,登錄請(qǐng)求包括第一客戶端110的地址和用戶登錄之后的回跳地址,并通過第二應(yīng)用程序或插件112對(duì)第一客戶端110的地址進(jìn)行偵聽,以及第二應(yīng)用程序或插件112獲得身份認(rèn)證結(jié)果和回跳地 址并發(fā)送至第一應(yīng)用程序111,第一應(yīng)用程序111根據(jù)身份認(rèn)證結(jié)果和回跳地址進(jìn)行頁(yè)面的重定向;云端服務(wù)器130用于為登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)標(biāo)識(shí)串、第一客戶端110的地址和回跳地址生成二維碼,和將二維碼發(fā)送至第一客戶端110,以及接收根據(jù)第二客戶端120發(fā)送的代理登陸請(qǐng)求對(duì)用戶進(jìn)行身份認(rèn)證,并將身份認(rèn)證結(jié)果發(fā)送至第二客戶端120 ;第二客戶端120用于對(duì)第一客戶端110顯示的二維碼進(jìn)行拍攝,并對(duì)在解析二維碼之后向根據(jù)云端服務(wù)器130的地址向云端服務(wù)器130發(fā)送代理登陸請(qǐng)求,其中,代理登陸請(qǐng)求包括用戶的身份信息,以及根據(jù)第一客戶端110的地址向第一客戶端110發(fā)送身份認(rèn)證結(jié)果和回跳地址。其中,代理登陸請(qǐng)求可以包括標(biāo)識(shí)串。第二客戶端120可以為移動(dòng)終端。在本發(fā)明的一個(gè)實(shí)施例中,云端服務(wù)器130還用于對(duì)代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,并在標(biāo)識(shí)串或身份信息無(wú)效時(shí)向第二客戶端120返回錯(cuò)誤信息。在本發(fā)明的一個(gè)實(shí)施例中,云端服務(wù)器130還用于判斷是否存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息,以及在判斷存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng)時(shí),向第二客戶端120返回錯(cuò)誤信息,并在判斷未存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)代理登陸請(qǐng)求判斷用戶通過認(rèn)證時(shí),以標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并向第二客戶端120返回登錄成功信息。步驟S310 :用戶以非登錄身份訪問服務(wù)提供商提供的某網(wǎng)絡(luò)服務(wù),如某網(wǎng)站的貼吧。用戶進(jìn)入第一客戶端110,通過第一應(yīng)用程序111向云端服務(wù)器130發(fā)送網(wǎng)絡(luò)請(qǐng)求。用戶可以點(diǎn)擊界面元素,如登錄鏈接或登錄按鈕進(jìn)入第一應(yīng)用程序111。其中,第一客戶端110上的第一應(yīng)用程序111可以為PC或筆記本等設(shè)備上的某登錄系統(tǒng)客戶端模塊。其中,登錄請(qǐng)求包括第一客戶端110的地址和用戶登錄之后的回跳地址?;靥刂窞橛脩舻卿浐笮枰靥牡刂罚谝粦?yīng)用程序111將此地址發(fā)送至云端服務(wù)器130進(jìn)行編碼以使得第二客戶端120可以得到回跳地址信息。步驟S320 :網(wǎng)絡(luò)服務(wù)提供商的云端服務(wù)器130接收用戶發(fā)送的登錄請(qǐng)求。云端服務(wù)器130通過現(xiàn)有技術(shù)生成全局唯一的標(biāo)識(shí)串RS和二維碼QR,并將QR等數(shù)據(jù)返回至第一客戶端110。二維碼QR由RS、第一客戶端110的IP地址和回跳地址等信息生成。第一客戶端110的IP地址可以包括網(wǎng)絡(luò)端口號(hào)PORT,網(wǎng)絡(luò)端口號(hào)為預(yù)定義。步驟S330 :第一客戶端110接收二維碼圖片并在用戶登錄界面上進(jìn)行顯示。第一客戶端A通過第二應(yīng)用程序或插件在預(yù)定義的網(wǎng)絡(luò)端口上偵聽網(wǎng)絡(luò)連接請(qǐng)求。例如插件可以是瀏覽器插件。第二應(yīng)用程序或插件啟動(dòng)后,在預(yù)定義網(wǎng)絡(luò)端口 PORT上偵聽網(wǎng)絡(luò)連接請(qǐng)求。步驟S340 :用戶打開安裝第二客戶端120,其中,第二客戶端120為移動(dòng)設(shè)備上的登錄代理應(yīng)用程序。第二客戶端120通過攝像頭掃描第一客戶端110上顯示的二維碼圖片。通過現(xiàn)有技術(shù)對(duì)掃描的二維碼圖片進(jìn)行識(shí)別、解碼,得到唯一標(biāo)識(shí)串RS、第一客戶端110的網(wǎng)絡(luò)地址、以及所偵聽的網(wǎng)絡(luò)端口號(hào)PORT和用戶登錄成功后的回跳地址等數(shù)據(jù)。確定用戶以何種用戶身份登錄在第一客戶端110上所訪問的服務(wù)。其中,用戶身份可以通過用戶交 互操作或讀取服務(wù)的緩存數(shù)據(jù)得到。如用戶交互操作可以是用戶從保存在本地存儲(chǔ)系統(tǒng)中的多個(gè)用戶賬號(hào)中進(jìn)行選擇,或接收用戶輸入的賬號(hào)和密碼。向云端服務(wù)器130發(fā)送包括RS、用戶身份信息等數(shù)據(jù)的代理登錄處理請(qǐng)求。其中,用戶身份信息包括如用戶名、密碼,或已登錄用戶的會(huì)話信息。步驟S350 :云端服務(wù)器130接收代理登錄請(qǐng)求。判斷RS和用戶身份信息的有效性。如果其中任意一個(gè)數(shù)據(jù)被判斷無(wú)效,則云端服務(wù)器130向第二客戶端120返回錯(cuò)誤信息。如果都有效,云端服務(wù)器130判斷中是否已存在以RS為索弓丨,以用戶登錄會(huì)話信息(SESSION信息)為值的鍵值對(duì)數(shù)據(jù)項(xiàng)。如果存在,則云端服務(wù)器130返回錯(cuò)誤信息至第二客戶端120。如果不存在,則云端服務(wù)器130將用戶狀態(tài)置為登錄狀態(tài)。創(chuàng)建一個(gè)包含該用戶身份信息的登錄會(huì)話,保存〈RS,登錄會(huì)話信息 > 鍵值對(duì).并向第二客戶端120返回登錄會(huì)話信息。信息包括身份認(rèn)證結(jié)果和回跳地址。步驟S360 :第二客戶端120接收云端服務(wù)器130返回的信息。如果第二客戶端120接收到云端服務(wù)器130返回錯(cuò)誤信息,進(jìn)行錯(cuò)誤提示,并引導(dǎo)用戶重新進(jìn)行登錄。如果接收到用戶登錄會(huì)話信息,則與第一客戶端110建立網(wǎng)絡(luò)連接,并將用戶登錄會(huì)話信息和回跳地址發(fā)送至第一客戶端110。其中,第二客戶端120通過之前獲取的第一客戶端110的IP地址及端口號(hào)PORT,與第一客戶端110建立網(wǎng)絡(luò)連接。步驟S370 :第一客戶端110的第二應(yīng)用程序或插件112獲得身份認(rèn)證結(jié)果和回跳地址并發(fā)送至第一應(yīng)用程序111,第一應(yīng)用程序111根據(jù)身份認(rèn)證結(jié)果和回跳地址進(jìn)行頁(yè)面的重定向。第一應(yīng)用程序111將用戶登錄會(huì)話信息存儲(chǔ)到本模塊的相應(yīng)存儲(chǔ)空間里,并重定向回之前訪問的網(wǎng)頁(yè)。下面參考圖4描述根據(jù)本發(fā)明實(shí)施例的云端服務(wù)器200,包括第一接收模塊210、二維碼生成模塊220、第一發(fā)送模塊230、第二接收模塊240、認(rèn)證模塊250、第二發(fā)送模塊260和數(shù)據(jù)項(xiàng)維護(hù)模塊270。其中,第一接收模塊210用于接收第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求,其中,登錄請(qǐng)求包括第一客戶端的地址和用戶登錄之后的回跳地址;二維碼生成模塊220用于為登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)標(biāo)識(shí)串、第一客戶端的地址和回跳地址生成二維碼;第一發(fā)送模塊230用于將二維碼發(fā)送至第一客戶端并通過第一客戶端進(jìn)行顯示;第二接收模塊240用于接收第二客戶端拍攝并解析二維碼之后向云端服務(wù)器發(fā)送的代理登陸請(qǐng)求,其中,代理登陸請(qǐng)求包括用戶的身份信息;第二接收模塊240用于接收根據(jù)代理登陸請(qǐng)求;認(rèn)證模塊250用于對(duì)用戶進(jìn)行身份認(rèn)證;第二發(fā)送模塊260用于將身份認(rèn)證結(jié)果發(fā)送至第二客戶端。
認(rèn)證模塊250還用于對(duì)代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,如果標(biāo)識(shí)串或身份信息無(wú)效,則第二發(fā)送模塊260向第二客戶端返回錯(cuò)誤信息。認(rèn)證模塊250還用于判斷是否存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息;如果判斷存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),則第二發(fā)送模塊260向第二客戶端返回錯(cuò)誤信息;如果判斷未存儲(chǔ)有以標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)代理登陸請(qǐng)求判斷用戶通過認(rèn)證,則數(shù)據(jù)項(xiàng)維護(hù)模塊270以標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),第二發(fā)送模塊260向第二客戶端返回登錄成功信息。根據(jù)本發(fā)明實(shí)施例的基于二維碼的登錄控制系統(tǒng),第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送請(qǐng)求消息,云端服務(wù)器根據(jù)登錄請(qǐng)求消息生成并發(fā)送二維碼,第二客戶端從第一客戶端顯示的二維碼中獲取并解析其中信息,發(fā)送代理登錄請(qǐng)求,云端服務(wù)器對(duì)代理登錄請(qǐng)求進(jìn)行身份認(rèn)證,將結(jié)果 返回第二客戶端,第二客戶端發(fā)送結(jié)果至第一客戶端的第二應(yīng)用程序或插件,第一客戶端的第二應(yīng)用程序或插件接收并發(fā)送至第一應(yīng)用程序從而完成登錄并訪問請(qǐng)求的頁(yè)面。本系統(tǒng)充分第二客戶端的功能和資源優(yōu)勢(shì),不需要用戶每次登錄都輸入相關(guān)用戶名、密碼,降低用戶的登錄的操作成本,提升了用戶體驗(yàn),簡(jiǎn)單高效的同時(shí)也降低了被釣魚、木馬竊取密碼等風(fēng)險(xiǎn),保障了用戶賬號(hào)安全性。在本說明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
權(quán)利要求
1.一種基于二維碼的登錄控制方法,其特征在于,包括以下步驟第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求,其中,所述登錄請(qǐng)求包括所述第一客戶端的地址和所述用戶登錄之后的回跳地址;所述云端服務(wù)器為所述登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)所述標(biāo)識(shí)串、所述第一客戶端的地址和所述回跳地址生成二維碼;所述云端服務(wù)器將所述二維碼發(fā)送至所述第一客戶端并通過所述第一客戶端進(jìn)行顯示;所述第一客戶端通過第二應(yīng)用程序或插件對(duì)所述第一客戶端的地址進(jìn)行偵聽;所述云端服務(wù)器接收第二客戶端拍攝并解析所述二維碼之后,向所述云端服務(wù)器發(fā)送的代理登陸請(qǐng)求,其中,所述代理登陸請(qǐng)求包括所述用戶的身份信息;所述云端服務(wù)器根據(jù)所述代理登陸請(qǐng)求對(duì)所述用戶進(jìn)行身份認(rèn)證,并將身份認(rèn)證結(jié)果發(fā)送至所述第二客戶端;所述第二客戶端根據(jù)所述第一客戶端的地址向所述第一客戶端發(fā)送身份認(rèn)證結(jié)果和所述回跳地址;以及所述第一客戶端的第二應(yīng)用程序或插件獲得所述身份認(rèn)證結(jié)果和所述回跳地址并發(fā)送至所述第一應(yīng)用程序,所述第一應(yīng)用程序根據(jù)所述身份認(rèn)證結(jié)果和所述回跳地址進(jìn)行頁(yè)面的重定向。
2.如權(quán)利要求1所述的基于二維碼的登錄控制方法,其特征在于,所述代理登陸請(qǐng)求包括所述標(biāo)識(shí)串。
3.如權(quán)利要求1或2所述的基于二維碼的登錄控制方法,其特征在于,還包括所述云端服務(wù)器對(duì)所述代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,如果所述標(biāo)識(shí)串或身份信息無(wú)效,則所述云端服務(wù)器向所述第二客戶端返回錯(cuò)誤信息。
4.如權(quán)利要求1-3任一項(xiàng)所述的基于二維碼的登錄控制方法,其特征在于,還包括 所述云端服務(wù)器判斷是否存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,所述數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息;如果判斷存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),則向所述第二客戶端返回錯(cuò)誤信息;以及如果判斷未存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)所述代理登陸請(qǐng)求判斷所述用戶通過認(rèn)證,則以所述標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并向所述第二客戶端返回登錄成功信息。
5.如權(quán)利要求1所述的基于二維碼的登錄控制方法,其特征在于,所述第二客戶端為移動(dòng)終端。
6.一種基于二維碼的登錄控制系統(tǒng),其特征在于,包括第一客戶端、第二客戶端和云端服務(wù)器,其中,所述第一客戶端,所述第一客戶端包括第一應(yīng)用程序,第二應(yīng)用程序或插件,用于通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求,其中,所述登錄請(qǐng)求包括所述第一客戶端的地址和所述用戶登錄之后的回跳地址,并通過第二應(yīng)用程序或插件對(duì)所述第一客戶端的地址進(jìn)行偵聽,以及所述第二應(yīng)用程序或插件獲得所述身份認(rèn)證結(jié)果和所述回跳地址并發(fā)送至所述第一應(yīng)用程序,所述第一應(yīng)用程序根據(jù)所述身份認(rèn)證結(jié)果和所述回跳地址進(jìn)行頁(yè)面的重定向;所述云端服務(wù)器,用于為所述登錄請(qǐng)求分配標(biāo)識(shí)串,并根據(jù)所述標(biāo)識(shí)串、所述第一客戶端的地址和所述回跳地址生成二維碼,和將所述二維碼發(fā)送至所述第一客戶端,以及接收根據(jù)所述第二客戶端發(fā)送的代理登陸請(qǐng)求對(duì)所述用戶進(jìn)行身份認(rèn)證,并將身份認(rèn)證結(jié)果發(fā)送至所述第二客戶端;以及第二客戶端,用于對(duì)所述第一客戶端顯示的二維碼進(jìn)行拍攝,并對(duì)在解析所述二維碼之后向所述云端服務(wù)器發(fā)送代理登陸請(qǐng)求,其中,所述代理登陸請(qǐng)求包括所述用戶的身份信息,以及根據(jù)所述第一客戶端的地址向所述第一客戶端發(fā)送身份認(rèn)證結(jié)果和所述回跳地址。
7.如權(quán)利要求6所述的基于二維碼的登錄控制系統(tǒng),其特征在于,所述代理登陸請(qǐng)求包括所述標(biāo)識(shí)串。
8.如權(quán)利要求7所述的基于二維碼的登錄控制系統(tǒng),其特征在于,所述云端服務(wù)器還用于對(duì)所述代理登陸請(qǐng)求中的標(biāo)識(shí)串和身份信息進(jìn)行認(rèn)證,并在所述標(biāo)識(shí)串或身份信息無(wú)效時(shí)向所述第二客戶端返回錯(cuò)誤信息。
9.如權(quán)利要求8所述的基于二維碼的登錄控制系統(tǒng),其特征在于,所述云端服務(wù)器,還用于判斷是否存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),其中,所述數(shù)據(jù)項(xiàng)中包含用戶登錄會(huì)話信息,以及在判斷存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng)時(shí),向所述第二客戶端返回錯(cuò)誤信息,并在判斷未存儲(chǔ)有以所述標(biāo)識(shí)串為索引的數(shù)據(jù)項(xiàng),且根據(jù)所述代理登陸請(qǐng)求判斷所述用戶通過認(rèn)證時(shí),以所述標(biāo)識(shí)串為索引建立對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并向所述第二客戶端返回登錄成功信息。
10.如權(quán)利要求7所述的基于二維碼的登錄控制系統(tǒng),其特征在于,所述第二客戶端為移動(dòng)終端。
全文摘要
本發(fā)明提出一種基于二維碼的登錄控制方法,包括第一客戶端通過第一應(yīng)用程序向云端服務(wù)器發(fā)送登錄請(qǐng)求;云端服務(wù)器為登錄請(qǐng)求分配標(biāo)識(shí)串并生成二維碼;云端服務(wù)器將二維碼發(fā)送至第一客戶端并顯示;第一客戶端通過第二應(yīng)用程序或插件對(duì)第一客戶端的地址進(jìn)行偵聽;云端服務(wù)器接收第二客戶端發(fā)送的代理登陸請(qǐng)求;云端服務(wù)器根據(jù)代理登陸請(qǐng)求對(duì)用戶進(jìn)行身份認(rèn)證并將結(jié)果發(fā)送至第二客戶端;第二客戶端向第一客戶端發(fā)送身份認(rèn)證結(jié)果和回跳地址;第一客戶端的第二應(yīng)用程序或插件獲得身份認(rèn)證結(jié)果和回跳地址并發(fā)送至第一應(yīng)用程序,第一應(yīng)用程序根據(jù)身份認(rèn)證結(jié)果和回跳地址進(jìn)行頁(yè)面的重定向。本發(fā)明的用戶登錄輸入少,操作成本低,用戶體驗(yàn)好,安全性高。
文檔編號(hào)H04L29/06GK103023919SQ201210576988
公開日2013年4月3日 申請(qǐng)日期2012年12月26日 優(yōu)先權(quán)日2012年12月26日
發(fā)明者朱建庭 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司