二服務(wù)器驗(yàn)證第二簽名,返回驗(yàn)證消 息至第一服務(wù)器。
[0034] 可選地,在根據(jù)本發(fā)明的第一服務(wù)器中,接收模塊還適于接收來(lái)自第二服務(wù)器的 驗(yàn)證消息,若驗(yàn)證通過(guò),則響應(yīng)模塊響應(yīng)來(lái)自第S方的第二請(qǐng)求,根據(jù)事件標(biāo)識(shí)獲取其關(guān)聯(lián) 的用戶標(biāo)識(shí)。
[00巧]可選地,在根據(jù)本發(fā)明的第一服務(wù)器中,控制單元還適于在響應(yīng)單元將用戶標(biāo)識(shí) 發(fā)送至第=方應(yīng)用之后,刪除該用戶標(biāo)識(shí)與事件標(biāo)識(shí)的關(guān)聯(lián)關(guān)系。
[0036] 根據(jù)本發(fā)明的還有一個(gè)方面,提供了一種客戶端,包括:掃描單元,適于掃描第= 方應(yīng)用顯示的二維碼,獲取二維碼包含的第一信息;交互單元,適于將第二信息發(fā)送至第一 服務(wù)器,W便第一服務(wù)器對(duì)第二信息進(jìn)行處理后,返回處理消息至客戶端,第二信息包括第 一信息;還適于接收來(lái)自第一服務(wù)器的處理消息;w及顯示單元,適于顯示處理消息相應(yīng) 的內(nèi)容。
[0037] 可選地,在根據(jù)本發(fā)明的客戶端中,包括驗(yàn)證單元,適于驗(yàn)證第一信息。
[0038] 可選地,在根據(jù)本發(fā)明的客戶端中,驗(yàn)證單元適于驗(yàn)證第一信息是否包括指定域 名,若包括,則驗(yàn)證通過(guò)。
[0039] 可選地,在根據(jù)本發(fā)明的客戶端中,第二信息還包括用戶信息和客戶端信息。
[0040] 根據(jù)本發(fā)明的還有一個(gè)方面,提供了一種二維碼登錄系統(tǒng),適于登錄第=方應(yīng)用, 包括;根據(jù)本發(fā)明的客戶端,該客戶端駐留在移動(dòng)終端中;根據(jù)本發(fā)明的第一服務(wù)器;第二 服務(wù)器,適于與第一服務(wù)器交互,對(duì)來(lái)自第一服務(wù)器的請(qǐng)求進(jìn)行驗(yàn)證;還適于生成第一信息 并返回;還適于根據(jù)第二信息生成用戶標(biāo)識(shí)并返回;W及第=服務(wù)器,適于與第一服務(wù)器 交互,生成二維碼后返回二維碼地址。
[0041] 根據(jù)本發(fā)明的二維碼登陸系統(tǒng),通過(guò)掃描二維碼可直接登錄用戶在第S方應(yīng)用的 賬戶,實(shí)現(xiàn)快速、安全的賬號(hào)認(rèn)證登陸,解決了過(guò)去的繁瑣登錄問(wèn)題。并且本發(fā)明通過(guò)生成 唯一固定的標(biāo)識(shí)將用戶在客戶端的賬戶與用戶在第S方應(yīng)用的賬戶建立聯(lián)系,因此整個(gè)登 錄過(guò)程不會(huì)收集用戶在第=方應(yīng)用的任何信息,解決了帳號(hào)安全、撞庫(kù)風(fēng)險(xiǎn)等問(wèn)題。
【附圖說(shuō)明】
[0042] 為了實(shí)現(xiàn)上述W及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方 面,該些方面指示了可W實(shí)踐本文所公開(kāi)的原理的各種方式,并且所有方面及其等效方面 旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過(guò)結(jié)合附圖閱讀下面的詳細(xì)描述,本公開(kāi)的上述 W及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開(kāi),相同的附圖標(biāo)記通常指代相同的 部件或元素。
[0043] 圖1示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的二維碼登錄系統(tǒng)100的結(jié)構(gòu)框圖;
[0044] 圖2示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的第一服務(wù)器110的結(jié)構(gòu)框圖;
[004引圖3示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的客戶端141的結(jié)構(gòu)框圖擬及
[0046] 圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的二維碼登錄方法400的流程圖。
【具體實(shí)施方式】
[0047] 下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi) 的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被該里闡述的實(shí)施例 所限制。相反,提供該些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍 完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0048] 圖1示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的二維碼登錄系統(tǒng)100的結(jié)構(gòu)框圖。二 維碼登錄系統(tǒng)100通過(guò)網(wǎng)絡(luò)與第=方應(yīng)用相連,用戶可通過(guò)二維碼登錄系統(tǒng)100掃描二維 碼直接登錄第=方應(yīng)用,無(wú)需輸入其在第=方應(yīng)用上的第=方賬戶和密碼。該里,第=方應(yīng) 用可W是需要賬戶登錄的、安裝在移動(dòng)終端里的各種應(yīng)用,也可W是第=方網(wǎng)站,本發(fā)明對(duì) 此不做限制。如圖1所示,二維碼登錄系統(tǒng)100可W包括第一服務(wù)器110、第二服務(wù)器120、 第S服務(wù)器130W及客戶端140,第一服務(wù)器110通過(guò)網(wǎng)絡(luò)分別與第二服務(wù)器120、第S服 務(wù)器130W及客戶端140連接。
[0049] 圖2示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的第一服務(wù)器110的結(jié)構(gòu)框圖,第一服 務(wù)器110可W包括接收單元111、控制單元112W及響應(yīng)單元113,還可W包括轉(zhuǎn)發(fā)單元 114、驗(yàn)證單元115。
[0050] 第S方應(yīng)用向第一服務(wù)器110發(fā)送第一請(qǐng)求,請(qǐng)求獲取二維碼。第一服務(wù)器110 中接收單元111適于接收來(lái)自第=方應(yīng)用的第一請(qǐng)求,第一請(qǐng)求通常為http請(qǐng)求,可由第 S方應(yīng)用調(diào)用其預(yù)先嵌入的API接口生成,API由二維碼登錄系統(tǒng)100廠商提供維護(hù)???選地,第一請(qǐng)求包括應(yīng)用標(biāo)識(shí),該應(yīng)用標(biāo)識(shí)可唯一地標(biāo)識(shí)第=方應(yīng)用身份,一個(gè)合法的應(yīng)用 標(biāo)識(shí)例如:
[0051] "Fqlw4Z2KC地zvwSYNOe化M9KgTQ47iWf"。而應(yīng)用標(biāo)識(shí)由第二服務(wù)器120預(yù)先創(chuàng) 建。具體地,在第=方應(yīng)用生成第一請(qǐng)求之前,第=方應(yīng)用向第二服務(wù)器120發(fā)出創(chuàng)建請(qǐng) 求,請(qǐng)求創(chuàng)建應(yīng)用。第二服務(wù)器120響應(yīng)該請(qǐng)求,創(chuàng)建與該第S方應(yīng)用唯一關(guān)聯(lián)的應(yīng)用標(biāo)識(shí) (app_id)并存儲(chǔ),而后將應(yīng)用標(biāo)識(shí)返回至第S方應(yīng)用。
[0052] 第一請(qǐng)求還可W包括第一簽名,通??赏ㄟ^(guò)驗(yàn)證第一簽名來(lái)確保數(shù)據(jù)交互的安全 性,防止數(shù)據(jù)被篡改。該第一簽名可根據(jù)第=方應(yīng)用的應(yīng)用密鑰生成,一個(gè)合法的應(yīng)用密鑰 例如;"qms7LwYXgw5訊nVdwYyA"。應(yīng)用密鑰與應(yīng)用標(biāo)識(shí)相同地,在第二服務(wù)器120響應(yīng)來(lái)自 第=方應(yīng)用的創(chuàng)建請(qǐng)求時(shí)創(chuàng)建,第二服務(wù)器120創(chuàng)建與該第=方應(yīng)用唯一關(guān)聯(lián)的應(yīng)用密鑰 (app_key)并存儲(chǔ),而后將應(yīng)用密鑰返回至第S方應(yīng)用。
[0053] 每一次第S方應(yīng)用向第一服務(wù)器110發(fā)送請(qǐng)求,均需要向第一服務(wù)器110傳遞一 個(gè)簽名(si即ature),第一服務(wù)器110將請(qǐng)求轉(zhuǎn)發(fā)至第二服務(wù)器120驗(yàn)證,第二服務(wù)器120 會(huì)根據(jù)該請(qǐng)求中的參數(shù)值計(jì)算簽名,而后將其與請(qǐng)求中的簽名比對(duì),比對(duì)一致則數(shù)據(jù)安全, 驗(yàn)證通過(guò)。其中請(qǐng)求傳遞的簽名與第二服務(wù)器120生成的簽名計(jì)算原理相同,具體如下:
[0054] 將請(qǐng)求中除簽名之外的其他參數(shù)按參數(shù)名字典排序后,按W下格式拼接成字符 串;$參數(shù)名1 = $參數(shù)值1$參數(shù)名2 = $參數(shù)值2. . . $參數(shù)名n= $參數(shù)值n$aOT_k巧, 并將拼好的字符串使用MD5加密,最后得到的字符串即為該請(qǐng)求的簽名。
[00巧]轉(zhuǎn)發(fā)單元114與接收單元111相連,適于將接收單元111接收的第一請(qǐng)求轉(zhuǎn)發(fā)至 第二服務(wù)器120。第二服務(wù)器120接收來(lái)自第一服務(wù)器110的第一請(qǐng)求,驗(yàn)證第一請(qǐng)求。根 據(jù)本發(fā)明的一個(gè)實(shí)施方式,第二服務(wù)器120通過(guò)驗(yàn)證第一簽名來(lái)驗(yàn)證第一請(qǐng)求,確保第一 請(qǐng)求數(shù)據(jù)沒(méi)有被篡改。具體地,第二服務(wù)器120存儲(chǔ)有第=方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰, 可根據(jù)第一請(qǐng)求中攜帶的應(yīng)用標(biāo)識(shí)獲取該應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用密鑰,根據(jù)所述應(yīng)用密鑰和 應(yīng)用標(biāo)識(shí)生成第一驗(yàn)證簽名。該里假定第=方應(yīng)用獲取的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰如下:
[0056] $app_id= 'Fqlw4Z2KC地zvw3YN0e化M9KgTQ47iWf' ;
[0057] $app_key= 'qms7LwYXgw3訊nVdwYyA';
[0058] 除第一簽名外,該第一請(qǐng)求共一個(gè)參數(shù)aOT_id,則按照上述簽名生成原理,可根據(jù) app_id拼接字符串;'app_id= ' . $app_id. $a卵_l?5y,之后,把拼接的字符串,使用MD5加 密;md5 ('app_id= ' . $app_id. $aOT_key),即得到第一驗(yàn)證簽名。第二服務(wù)器120將該第 一驗(yàn)證簽名與第一簽名比對(duì),若一致則驗(yàn)證通過(guò),否則驗(yàn)證失敗,而后將該驗(yàn)證消息(驗(yàn)證 通過(guò)或者驗(yàn)證失?。┓祷刂恋谝环?wù)器110。
[0059] 若驗(yàn)證通過(guò),第二服務(wù)器120則根據(jù)應(yīng)用標(biāo)識(shí)生成第一信息,第一信息包括該應(yīng) 用標(biāo)識(shí),通常為字符串,此外,內(nèi)容還可W包括指定域名、時(shí)間戳W及隨機(jī)數(shù)。具體地,將應(yīng) 用標(biāo)識(shí)、時(shí)間戳和隨機(jī)數(shù)拼接并加密,其中加密方式可W是Base64編碼,本發(fā)明對(duì)此不做 限制。加密后在首端加上指定域名,即得到類似于W下的第一信息:
[0060] "http://yc.im/bjGArUq091RnS5sSeF2X9yaIL0HB/ 化i~Eb3KTIfdiOGA師ho70DwXyA4)(hfs/VCqFywQszmjzwM服 6TSRaBcKGg=="。
[0061] 第二服務(wù)器120將上述第一信息同驗(yàn)證消息返回至第一服務(wù)器110,接收單元111 接收來(lái)自第二服務(wù)器120的驗(yàn)證消息和第一信息,若驗(yàn)證消息為驗(yàn)證通過(guò),與接收單元111 相連的控制單元112則創(chuàng)建與第一請(qǐng)求關(guān)聯(lián)的事件標(biāo)識(shí),并存儲(chǔ),其中事件標(biāo)識(shí)可唯一地 標(biāo)識(shí)第一請(qǐng)求。