應(yīng)用程序app的登錄系統(tǒng)及方法
【專(zhuān)利摘要】本發(fā)明提供了一種應(yīng)用程序APP的登錄系統(tǒng)及方法,該系統(tǒng)包括第一APP、第一服務(wù)器、第二APP和第二服務(wù)器,其中:第一APP用于向第二APP發(fā)送業(yè)務(wù)請(qǐng)求,接收來(lái)自第二APP的加密信息,并向第一服務(wù)器發(fā)送加密信息;第二APP用于根據(jù)業(yè)務(wù)請(qǐng)求獲得第一APP的信息,獲取登錄會(huì)話(huà)信息,然后將包含信息、業(yè)務(wù)請(qǐng)求和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至第二服務(wù)器,向第一APP發(fā)送來(lái)自第二服務(wù)器的加密信息;第二服務(wù)器用于根據(jù)加密請(qǐng)求生成加密信息,并向第二APP發(fā)送加密信息;以及第一服務(wù)器用于接收第一APP發(fā)送的加密信息,解密加密信息,根據(jù)解密結(jié)果獲得第一APP的賬號(hào),并為賬號(hào)提供登錄服務(wù)。上述系統(tǒng)及方法,免去了用戶(hù)主動(dòng)登錄的操作成本,登錄過(guò)程無(wú)任何頁(yè)面跳轉(zhuǎn)。
【專(zhuān)利說(shuō)明】應(yīng)用程序APP的登錄系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及終端設(shè)備【技術(shù)領(lǐng)域】,尤其涉及一種應(yīng)用程序APP的登錄系統(tǒng)及方法。
【背景技術(shù)】
[0002] 目前,用戶(hù)可通過(guò)以下兩種方式登錄移動(dòng)終端例如智能手機(jī)上的各種應(yīng)用程序 (APP,Application)例如百度知道、百度瀏覽器、微信、微博、美團(tuán)團(tuán)購(gòu)等。
[0003] 第一種方式為在用戶(hù)登錄同一個(gè)賬號(hào)體系下的某個(gè)應(yīng)用軟件例如百度瀏覽器后, 將用戶(hù)在該軟件的登錄會(huì)話(huà)信息同步與該軟件有相同賬號(hào)體系的應(yīng)用軟件例如百度知道, 百度地圖等中,具體而言,當(dāng)用戶(hù)主動(dòng)登錄某一個(gè)應(yīng)用程序例如百度瀏覽器后,系統(tǒng)將通過(guò) 廣播機(jī)制,將用戶(hù)的登錄會(huì)話(huà)廣播出去,有需要的第三方APP例如百度知道接收相應(yīng)的廣 播消息,并獲取登錄會(huì)話(huà)信息。當(dāng)用戶(hù)主動(dòng)打開(kāi)相應(yīng)的第三方APP時(shí),第三方APP將主動(dòng)調(diào) 用超級(jí)APP提供的接口來(lái)獲取登錄會(huì)話(huà)信息,并根據(jù)登錄會(huì)話(huà)信息做自動(dòng)登錄第三方APP。
[0004] 第二種方式為用戶(hù)在登錄第三方APP時(shí),可通過(guò)其他APP的賬號(hào)登錄第三APP, 例如,用戶(hù)在登錄愛(ài)奇藝時(shí),可通過(guò)百度賬號(hào)或者其他賬號(hào)來(lái)登錄愛(ài)奇藝。用戶(hù)通過(guò)其他 APP的賬號(hào)登錄第三APP的具體過(guò)程如下:第三方APP調(diào)用其他APP提供的接口來(lái)調(diào)起其 他APP的相應(yīng)界面,當(dāng)用戶(hù)在該界面中主動(dòng)登錄或選擇一個(gè)已登錄的帳號(hào)后,其他APP通 過(guò)開(kāi)放授權(quán)服務(wù)獲取一個(gè)訪問(wèn)授權(quán)碼,并根據(jù)第三方APP調(diào)起其他APP時(shí)所傳入的一個(gè)回 調(diào)通用資源標(biāo)識(shí)符(Uniform Resource Identifier, URI)重新調(diào)起第三方APP,以及將該訪 問(wèn)授權(quán)碼傳回第三方APP,第三方APP再根據(jù)訪問(wèn)授權(quán)碼調(diào)用開(kāi)放授權(quán)服務(wù)所提供的開(kāi)放 API (Application Programming Interface,應(yīng)用編程接口)來(lái)獲取當(dāng)前登錄用戶(hù)的相關(guān)信 息,并做一次聯(lián)合登錄處理。
[0005] 然而,上述兩種登錄方式存在的問(wèn)題是,第一種登錄方式由于直接同步登錄會(huì)話(huà) 信息,出于安全性的考慮,一般只是適用于同一個(gè)公司或者子公司的APP產(chǎn)品,例如百度知 道、百度團(tuán)購(gòu)和百度瀏覽器等之間可以使用這種方案。對(duì)于第二種方案,在用戶(hù)通過(guò)其他 APP的賬號(hào)登錄第三方APP的過(guò)程中,頁(yè)面出現(xiàn)多次跳轉(zhuǎn),并且多次跳轉(zhuǎn)過(guò)程中的用戶(hù)界面 風(fēng)格不一致,影響了用戶(hù)登錄的流暢性和美觀性,用戶(hù)對(duì)第二種登錄方式的用戶(hù)體驗(yàn)并不 理想。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。為此,本發(fā)明第 一方面實(shí)施例在于提出一種應(yīng)用程序APP的登錄系統(tǒng),該系統(tǒng)免去了用戶(hù)一次主動(dòng)登錄的 操作成本,并且用戶(hù)在打開(kāi)第一 APP后直接進(jìn)入登錄后的操作界面,用戶(hù)不會(huì)看到任何登 錄過(guò)程中的頁(yè)面跳轉(zhuǎn),登錄過(guò)程流暢,提高了用戶(hù)的登錄體驗(yàn)度。
[0007] 本發(fā)明的第二方面實(shí)施例在于提出一種應(yīng)用程序APP的登錄方法。
[0008] 為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例的應(yīng)用程序APP的登錄系統(tǒng),包括第 一 APP及其對(duì)應(yīng)的第一服務(wù)器和第二APP及其對(duì)應(yīng)的第二服務(wù)器,其中:所述第一 APP,用 于向所述第二APP發(fā)送包含所述第一 APP的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng)求,接收來(lái)自所述第二APP 的加密信息,并向所述第一服務(wù)器發(fā)送所述加密信息;所述第二APP,用于根據(jù)所述業(yè)務(wù)請(qǐng) 求獲得所述第一 APP的信息,并獲取用戶(hù)的登錄會(huì)話(huà)信息,然后將包含所述信息、業(yè)務(wù)請(qǐng)求 和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至所述第二服務(wù)器;向所述第一 APP發(fā)送來(lái)自所述第二服 務(wù)器的所述加密信息;所述第二服務(wù)器,用于根據(jù)所述加密請(qǐng)求生成加密信息,并向所述第 二APP發(fā)送所述加密信息;以及所述第一服務(wù)器,用于接收所述第一 APP發(fā)送的所述加密信 息,對(duì)所述加密信息進(jìn)行解密,并根據(jù)解密結(jié)果獲得所述第一 APP的賬號(hào),并為所述賬號(hào)提 供登錄服務(wù)。
[0009] 根據(jù)本發(fā)明實(shí)施例的搜索結(jié)果的展現(xiàn)方法,獲取與搜索詞相關(guān)的第一搜索結(jié)果集 合和第二搜索結(jié)果集合,并根據(jù)第一搜索結(jié)果集合確定展現(xiàn)長(zhǎng)度,當(dāng)?shù)诙阉鹘Y(jié)果集合中 包含的分類(lèi)信息的長(zhǎng)度大于展現(xiàn)長(zhǎng)度時(shí),在搜索結(jié)果頁(yè)面的左側(cè)顯示第一搜索結(jié)果集合, 在搜索結(jié)果頁(yè)面的右側(cè)展開(kāi)顯示和折疊顯示對(duì)應(yīng)的分類(lèi)信息,以使搜索結(jié)果頁(yè)的右側(cè)長(zhǎng)度 不超過(guò)搜索結(jié)果頁(yè)的左側(cè)長(zhǎng)度,從而方便用戶(hù)查看搜索結(jié)果,提高了用戶(hù)的搜索體驗(yàn)度。 [0010] 為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例的應(yīng)用程序APP的登錄方法,包括:第 一 APP向第二APP發(fā)送包含所述第一 APP的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng)求,以使所述第二APP根據(jù)所 述業(yè)務(wù)請(qǐng)求獲得所述第一 APP的信息,并獲取用戶(hù)的登錄會(huì)話(huà)信息,然后將包含所述信息、 業(yè)務(wù)請(qǐng)求和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至所述第二服務(wù)器,以使所述第二服務(wù)器根據(jù)所 述加密請(qǐng)求生成加密信息;所述第一 APP接收所述第二APP從所述第二服務(wù)器獲得的加密 信息;所述第一 APP向第一服務(wù)器發(fā)送所述加密信息,以使所述第一服務(wù)器對(duì)所述加密信 息進(jìn)行解密,根據(jù)解密結(jié)果獲得所述第一 APP的賬號(hào),并為所述賬號(hào)提供登錄服務(wù)。
[0011] 根據(jù)本發(fā)明實(shí)施例的用程序APP的登錄方法,第一 APP向第二APP發(fā)送業(yè)務(wù)請(qǐng)求, 以使第二APP獲得第一 APP的信息,獲得用戶(hù)的登錄會(huì)話(huà)信息,然后將包含信息、業(yè)務(wù)請(qǐng)求 和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至第二服務(wù)器,以使第二服務(wù)器根據(jù)加密請(qǐng)求生成加密信 息,第一 APP接收第二APP從第二服務(wù)器中獲得的加密信息,以及第一 APP將加密信息發(fā)送 至第一服務(wù)器,以使第一服務(wù)器對(duì)加密信息解密,并根據(jù)解密結(jié)果對(duì)第一 APP的賬號(hào)提供 登錄服務(wù),上述登錄過(guò)程均在后臺(tái)中進(jìn)行,無(wú)需用戶(hù)操作,在用戶(hù)登錄第二APP后,若用戶(hù) 打開(kāi)與第二APP有合作關(guān)系的第一 APP,該系統(tǒng)將主動(dòng)登錄第一 APP,由此,免去了用戶(hù)一次 主動(dòng)登錄的操作成本,并且用戶(hù)在打開(kāi)第一 APP后直接進(jìn)入登錄后的操作界面,用戶(hù)不會(huì) 看到任何登錄過(guò)程中的頁(yè)面跳轉(zhuǎn),登錄過(guò)程流暢,并且不需要有第一服務(wù)器轉(zhuǎn)接對(duì)應(yīng)的登 錄授權(quán)頁(yè)面,也避免了第一 APP泄漏用戶(hù)信息的風(fēng)險(xiǎn)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0012] 圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序APP的登錄系統(tǒng)的結(jié)構(gòu)示意圖。
[0013] 圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序APP的登錄系統(tǒng)交互的流程圖。
[0014] 圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序APP的登錄方法的流程圖。
【具體實(shí)施方式】
[0015] 下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附 圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
[0016] 下面參考附圖描述本發(fā)明實(shí)施例的應(yīng)用程序APP的登錄系統(tǒng)及方法。
[0017] 圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序APP的登錄系統(tǒng)的結(jié)構(gòu)示意圖,如圖1 所示,該系統(tǒng)包括:第一 APP110、第一服務(wù)器120、第二APP130和第二服務(wù)器140,其中:
[0018] 第一 APP110用于向第二APP130發(fā)送包含第一 APP110的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng)求,接 收來(lái)自第二APP130的加密信息,并向第一服務(wù)器120發(fā)送加密信息。
[0019] 第二APP130用于根據(jù)業(yè)務(wù)請(qǐng)求獲得第一 AP110的信息,并獲取用戶(hù)的登錄會(huì)話(huà) 信息,然后將包含信息、業(yè)務(wù)請(qǐng)求和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至第二服務(wù)器;向第一 APP1發(fā)送來(lái)自第二服務(wù)器140的加密信息。
[0020] 第二服務(wù)器140用于根據(jù)加密請(qǐng)求生成加密信息,并向第二APP130發(fā)送加密信 息。
[0021] 第一服務(wù)器120用于接收第一 APP110發(fā)送的加密信息,對(duì)加密信息進(jìn)行解密,并 根據(jù)解密結(jié)果獲得第一 APP110的賬號(hào),并為賬號(hào)提供登錄服務(wù)。
[0022] 其中,上述標(biāo)識(shí)信息用于唯一標(biāo)識(shí)第一 APP110,標(biāo)識(shí)信息可為第一 APP110的應(yīng)用 標(biāo)識(shí)ID (IDentity),該應(yīng)用ID為第一 APP110在第二APP服務(wù)提供商的開(kāi)放平臺(tái)上注冊(cè)所 獲得的,上述第一 APP的信息可以包括第一 APP的包名和包簽名。
[0023] 在本發(fā)明的實(shí)施例中,第二APP130還用于預(yù)先保存第一 APP110的信息。
[0024] 在發(fā)明的實(shí)施例中,第二服務(wù)器140具體用于:判斷加密請(qǐng)求中攜帶的第一 APP110的信息和從數(shù)據(jù)庫(kù)中獲得的第一 APP110的信息是否一致,若兩者一致,則根據(jù)登錄 會(huì)話(huà)信息獲得用戶(hù)信息,并獲取系統(tǒng)時(shí)間戳,然后使用預(yù)設(shè)密鑰加密用戶(hù)信息和系統(tǒng)時(shí)間 戳以生成加密信息。
[0025] 上述用戶(hù)信息可以包括但不限于用戶(hù)標(biāo)識(shí)ID和用戶(hù)名,上述第一服務(wù)器120具 體用于:根據(jù)第一 APP110的密鑰對(duì)加密信息進(jìn)行解密,并判斷系統(tǒng)時(shí)間戳和當(dāng)前系統(tǒng)時(shí)間 之間的時(shí)間差是否超過(guò)預(yù)設(shè)閾值,若未超過(guò),則獲得與用戶(hù)信息相匹配的第一 APP110的賬 號(hào),并為賬號(hào)提供登錄服務(wù)。
[0026] 下面以一個(gè)具體的實(shí)現(xiàn)方案對(duì)根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序APP的登錄系統(tǒng)進(jìn) 行說(shuō)明??梢岳斫獾氖?,下述過(guò)程僅出于示例目的,本發(fā)明的實(shí)施例不限于此。
[0027] 如圖2所示,該應(yīng)用程序APP的登錄系統(tǒng)進(jìn)行交互的過(guò)程如下:
[0028] S201,第一 APP110用于向第二APP130發(fā)送包含第一 APP110的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng) 求。
[0029] 具體地,第一 APP110通過(guò)調(diào)用第二APP130提供的一個(gè)后臺(tái)服務(wù)(service)接口, 將包含第一 APP110的應(yīng)用ID發(fā)送至第二APP130中。
[0030] S202,第二APP130接收第一 APP110發(fā)送的業(yè)務(wù)請(qǐng)求,根據(jù)業(yè)務(wù)請(qǐng)求獲得第一 APP110的信息,并獲取用戶(hù)的登錄會(huì)話(huà)信息。
[0031] 具體地,第二APP130的后臺(tái)服務(wù)接收到第一 APP110發(fā)送的業(yè)務(wù)請(qǐng)求后,第二 APP130從本地私有存儲(chǔ)中獲取當(dāng)前登錄第二APP130的用戶(hù)的登錄會(huì)話(huà)信息,并調(diào)用系統(tǒng) 獲取業(yè)務(wù)請(qǐng)求所對(duì)應(yīng)第一 APP110的包名、包簽名信息。
[0032] S203,第二APP130將包含登錄會(huì)話(huà)信息、第一 APP110的信息和業(yè)務(wù)請(qǐng)求的加密請(qǐng) 求發(fā)送至第二服務(wù)器140。
[0033] S204,第二服務(wù)器140接收加密請(qǐng)求,并根據(jù)加密請(qǐng)求生成加密信息。
[0034] 具體地,第二服務(wù)器140接收加密請(qǐng)求后,根據(jù)業(yè)務(wù)請(qǐng)求中的應(yīng)用ID從數(shù)據(jù)庫(kù)中 獲得第一 APP110對(duì)應(yīng)的包名和包簽名信息,并判斷加密請(qǐng)求中攜帶的第一 APP110對(duì)應(yīng)的 包名和包簽名信息與從數(shù)據(jù)庫(kù)中獲得的第一 APP110對(duì)應(yīng)的包名和包簽名信息是否一致, 若不一致,則向第二APP130返回錯(cuò)誤信息;若一致,則第二服務(wù)器140根據(jù)加密請(qǐng)求中的 登錄會(huì)話(huà)信息獲得當(dāng)前登錄用戶(hù)的用戶(hù)ID和用戶(hù)名,再?gòu)臄?shù)據(jù)庫(kù)中獲得第一 APP110的權(quán) 限信息,例如訪問(wèn)授權(quán)碼等,并在獲得當(dāng)前系統(tǒng)時(shí)間戳后,通過(guò)預(yù)設(shè)密鑰對(duì)上述獲得的用戶(hù) ID、用戶(hù)名、權(quán)限信息、當(dāng)前系統(tǒng)時(shí)間戳等數(shù)據(jù)進(jìn)行加密以生成加密信息。
[0035] 上述第二服務(wù)器140通過(guò)對(duì)第一 APP110的包名和包簽名信息進(jìn)行認(rèn)證,并對(duì)相關(guān) 信息進(jìn)行加密,由此,可解決惡意APP直接調(diào)用第一 APP提供的服務(wù)接口進(jìn)行攻擊的問(wèn)題, 以及解決了返回內(nèi)容被惡意APP截取利用的問(wèn)題。
[0036] S205,第二服務(wù)器140向第二APP130返回加密信息。
[0037] S206,第二APP130接收第二服務(wù)器140發(fā)送的加密信息,并將加密信息作為業(yè)務(wù) 請(qǐng)求的響應(yīng)返回至第一 APP110。
[0038] S207,第一 APP110接收第二APP130返回的業(yè)務(wù)請(qǐng)求的響應(yīng)即加密信息,并將業(yè)務(wù) 請(qǐng)求的響應(yīng)發(fā)送給第一服務(wù)器120。
[0039] S208,第一服務(wù)器120接收第一 APP110發(fā)送的加密信息,對(duì)加密信息進(jìn)行解密,并 根據(jù)解密結(jié)果獲得第一 APP110的賬號(hào),并為賬號(hào)提供登錄服務(wù)。
[0040] 具體地,第一服務(wù)器120通過(guò)預(yù)設(shè)密鑰對(duì)加密信息進(jìn)行解密以獲得用戶(hù)信息和系 統(tǒng)時(shí)間戳,并判斷解密后的系統(tǒng)時(shí)間戳與當(dāng)前第一服務(wù)器120的系統(tǒng)時(shí)間戳之間的時(shí)間差 值是否超過(guò)預(yù)設(shè)閾值,若超過(guò)預(yù)設(shè)閾值,則可判斷當(dāng)前請(qǐng)求是一個(gè)重放攻擊請(qǐng)求,直接返回 相應(yīng)錯(cuò)誤信息即可,若未超過(guò)預(yù)設(shè)閾值,則判斷第一服務(wù)器120中對(duì)應(yīng)的第一 APP110的賬 號(hào)系統(tǒng)中是否有與用戶(hù)信息相匹配的賬號(hào)信息,若有,則獲得對(duì)應(yīng)的賬號(hào),并為該賬號(hào)提供 登錄服務(wù)。若沒(méi)有,則根據(jù)用戶(hù)信息自動(dòng)注冊(cè)一個(gè)第一 APP110的賬號(hào),然后再為該賬號(hào)提 供登錄服務(wù),此時(shí),用戶(hù)在第一 APP110中將看到登錄后的操作界面。
[0041] 上述應(yīng)用程序APP的登錄系統(tǒng)實(shí)施例,第一 APP向第二APP發(fā)送業(yè)務(wù)請(qǐng)求,并接收 第二APP從第二服務(wù)器中獲得的加密信息,以及將加密信息發(fā)送至第一服務(wù)器,第一服務(wù) 器對(duì)加密信息進(jìn)行解密,并根據(jù)解密結(jié)果獲得第一 APP的賬號(hào),并為該賬號(hào)提供登錄服務(wù), 上述登錄過(guò)程均在后臺(tái)中進(jìn)行,無(wú)需用戶(hù)操作,在用戶(hù)登錄第二APP后,若用戶(hù)打開(kāi)與第二 APP有合作關(guān)系的第一 APP,該系統(tǒng)將主動(dòng)登錄第一 APP,由此,免去了用戶(hù)一次主動(dòng)登錄的 操作成本,并且用戶(hù)在打開(kāi)第一 APP后直接進(jìn)入登錄后的操作界面,用戶(hù)不會(huì)看到任何登 錄過(guò)程中的頁(yè)面跳轉(zhuǎn),登錄過(guò)程流暢,并且不需要有第一服務(wù)器轉(zhuǎn)接對(duì)應(yīng)的登錄授權(quán)頁(yè)面, 也避免了第一 APP泄漏用戶(hù)信息的風(fēng)險(xiǎn)。
[0042] 為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出一種應(yīng)用程序APP的登錄方法。
[0043] 圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序APP的登錄方法的流程圖。如圖3所示, 該方法包括:
[0044] S301,第一 APP向第二APP發(fā)送包含第一 APP的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng)求,以使第二 APP根據(jù)業(yè)務(wù)請(qǐng)求獲得第一 APP的信息,并獲取用戶(hù)的登錄會(huì)話(huà)信息,然后將包含信息、業(yè) 務(wù)請(qǐng)求和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至第二服務(wù)器,以使第二服務(wù)器根據(jù)加密請(qǐng)求生成 加密信息。
[0045] 其中,上述標(biāo)識(shí)信息用于唯一識(shí)別第一 APP,標(biāo)識(shí)信息可以為第一 APP的應(yīng)用標(biāo)識(shí) ID (IDentity),第一 APP的信息可以包括但不限于第一 APP的包名和包簽名,上述加密信息 為第二服務(wù)器判斷出加密請(qǐng)求中攜帶的第一 APP的信息和從數(shù)據(jù)庫(kù)中獲得的第一 APP的信 息一致后,根據(jù)登錄會(huì)話(huà)信息獲得用戶(hù)信息,并獲取系統(tǒng)時(shí)間戳,然后使用預(yù)設(shè)密鑰加密用 戶(hù)信息和系統(tǒng)時(shí)間戳而獲得的。其中,用戶(hù)信息可以包括但不限于用戶(hù)ID和用戶(hù)名。
[0046] S302,第一 APP接收第二APP從第二服務(wù)器獲得的加密信息。
[0047] S303,第一 APP向第一服務(wù)器發(fā)送加密信息,以使第一服務(wù)器對(duì)加密信息進(jìn)行解 密,根據(jù)解密結(jié)果獲得第一 APP的賬號(hào),并為賬號(hào)提供登錄服務(wù)。
[0048] 其中,上述第一 APP的賬號(hào)為第一服務(wù)器根據(jù)預(yù)設(shè)密鑰對(duì)加密信息進(jìn)行解密后, 判斷系統(tǒng)時(shí)間戳和當(dāng)前系統(tǒng)時(shí)間之間的時(shí)間差是否超過(guò)預(yù)設(shè)閾值,若未超過(guò),則根據(jù)用戶(hù) 信息獲得的,具體地,第一服務(wù)器根據(jù)預(yù)設(shè)密鑰對(duì)加密信息進(jìn)行解密以獲得加密信息中的 用戶(hù)信息和系統(tǒng)時(shí)間戳,并判斷解密后的系統(tǒng)時(shí)間戳和當(dāng)前第一服務(wù)器的系統(tǒng)時(shí)間戳之間 的差值是否超過(guò)預(yù)設(shè)閾值,若超過(guò)預(yù)設(shè)閾值,則可判斷當(dāng)前請(qǐng)求是一個(gè)重放攻擊請(qǐng)求,直接 返回相應(yīng)錯(cuò)誤信息即可,若未超過(guò)預(yù)設(shè)閾值,則判斷第一 APP的賬號(hào)系統(tǒng)中是否有與用戶(hù) 信息相匹配的賬號(hào)信息,若有,則獲得對(duì)應(yīng)的第一 APP的賬號(hào),并為該賬號(hào)提供自動(dòng)登錄服 務(wù),若沒(méi)有與用戶(hù)信息相匹配的賬號(hào)信息,則根據(jù)用戶(hù)信息自動(dòng)注冊(cè)一個(gè)第一 APP的賬號(hào), 然后再為該賬號(hào)提供自動(dòng)登陸服務(wù)。
[0049] 綜上所述,該實(shí)施例的方法針對(duì)用戶(hù)在登錄第二APP后,若用戶(hù)打開(kāi)一個(gè)與第二 APP有合作關(guān)系的第一 APP,用戶(hù)無(wú)需主動(dòng)登錄,后臺(tái)根據(jù)用戶(hù)登錄第二APP的信息為用戶(hù) 主動(dòng)登錄第一 APP的賬號(hào),并且登錄過(guò)程對(duì)用戶(hù)完全透明,用戶(hù)不會(huì)看到任何界面跳轉(zhuǎn),直 接看到登錄后的操作界面,這免去了用戶(hù)主動(dòng)登錄的操作成本,提高了用戶(hù)的登錄體驗(yàn)。
[0050] 上述應(yīng)用程序APP的登錄方法實(shí)施例,第一 APP向第二APP發(fā)送業(yè)務(wù)請(qǐng)求,以使第 二APP獲得第一 APP的信息,獲得用戶(hù)的登錄會(huì)話(huà)信息,然后將包含信息、業(yè)務(wù)請(qǐng)求和登錄 會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至第二服務(wù)器,以使第二服務(wù)器根據(jù)加密請(qǐng)求生成加密信息,第 一 APP接收第二APP從第二服務(wù)器中獲得的加密信息,以及第一 APP將加密信息發(fā)送至第 一服務(wù)器,以使第一服務(wù)器對(duì)加密信息解密,并根據(jù)解密結(jié)果對(duì)第一 APP的賬號(hào)提供登錄 服務(wù),上述登錄過(guò)程均在后臺(tái)中進(jìn)行,無(wú)需用戶(hù)操作,在用戶(hù)登錄第二APP后,若用戶(hù)打開(kāi) 與第二APP有合作關(guān)系的第一 APP,該系統(tǒng)將主動(dòng)登錄第一 APP,由此,免去了用戶(hù)一次主動(dòng) 登錄的操作成本,并且用戶(hù)在打開(kāi)第一 APP后直接進(jìn)入登錄后的操作界面,用戶(hù)不會(huì)看到 任何登錄過(guò)程中的頁(yè)面跳轉(zhuǎn),登錄過(guò)程流暢,并且不需要有第一服務(wù)器轉(zhuǎn)接對(duì)應(yīng)的登錄授 權(quán)頁(yè)面,也避免了第一 APP泄漏用戶(hù)信息的風(fēng)險(xiǎn)。
[0051] 在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)"一個(gè)實(shí)施例"、"一些實(shí)施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不 必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任 一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技 術(shù)人員可以將本說(shuō)明書(shū)中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié) 合和組合。
[0052] 此外,術(shù)語(yǔ)"第一"、"第二"僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性 或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有"第一"、"第二"的特征可以明示或 者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,"多個(gè)"的含義是至少兩個(gè),例如兩個(gè), 三個(gè)等,除非另有明確具體的限定。
[0053] 流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括 一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明 的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0054] 在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是 用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以 供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指 令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置 或設(shè)備而使用。就本說(shuō)明書(shū)而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳 播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使 用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè) 布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤(pán)盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀 存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光 盤(pán)只讀存儲(chǔ)器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其 他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必 要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器 中。
[0055] 應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述 實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件 或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下 列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路 的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專(zhuān)用集成電路,可編程門(mén)陣列(PGA),現(xiàn)場(chǎng) 可編程門(mén)陣列(FPGA)等。
[0056] 本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步 驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0057] 此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模 塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中。
[0058] 上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。盡管上面已經(jīng)示出和描 述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限 制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變
【權(quán)利要求】
1. 一種應(yīng)用程序APP的登錄系統(tǒng),其特征在于,包括第一APP及其對(duì)應(yīng)的第一服務(wù)器和 第二APP及其對(duì)應(yīng)的第二服務(wù)器,其中 : 所述第一 APP,用于向所述第二APP發(fā)送包含所述第一 APP的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng)求,接 收來(lái)自所述第二APP的加密信息,并向所述第一服務(wù)器發(fā)送所述加密信息; 所述第二APP,用于根據(jù)所述業(yè)務(wù)請(qǐng)求獲得所述第一 APP的信息,并獲取用戶(hù)的登錄會(huì) 話(huà)信息,然后將包含所述信息、業(yè)務(wù)請(qǐng)求和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至所述第二服務(wù) 器,向所述第一 APP發(fā)送來(lái)自所述第二服務(wù)器的所述加密信息; 所述第二服務(wù)器,用于根據(jù)所述加密請(qǐng)求生成加密信息,并向所述第二APP發(fā)送所述 加密信息;以及 所述第一服務(wù)器,用于接收所述第一 APP發(fā)送的所述加密信息,對(duì)所述加密信息進(jìn)行 解密,并根據(jù)解密結(jié)果獲得所述第一 APP的賬號(hào),并為所述賬號(hào)提供登錄服務(wù)。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一 APP的信息包括所述第一 APP的 包名和包簽名。
3. 根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述第二APP,還用于: 預(yù)先保存所述第一 APP的信息。
4. 根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述第二服務(wù)器,具體用于: 判斷所述加密請(qǐng)求中攜帶的所述第一 APP的信息和從數(shù)據(jù)庫(kù)中獲得的所述第一 APP的 信息是否一致,若兩者一致,則根據(jù)所述登錄會(huì)話(huà)信息獲得用戶(hù)信息,并獲取系統(tǒng)時(shí)間戳, 然后使用預(yù)設(shè)密鑰加密所述用戶(hù)信息和所述系統(tǒng)時(shí)間戳以生成所述加密信息。
5. 根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述用戶(hù)信息包括用戶(hù)標(biāo)識(shí)ID和用戶(hù)名, 所述第一服務(wù)器,具體用于: 根據(jù)所述第一 APP的密鑰對(duì)所述加密信息進(jìn)行解密,并判斷所述系統(tǒng)時(shí)間戳和當(dāng)前系 統(tǒng)時(shí)間之間的時(shí)間差是否超過(guò)預(yù)設(shè)閾值,若未超過(guò),則獲得與所述用戶(hù)信息相匹配的所述 第一 APP的賬號(hào),并為所述賬號(hào)提供登錄服務(wù)。
6. -種應(yīng)用程序APP的登錄方法,其特征在于,包括: 第一 APP向第二APP發(fā)送包含所述第一 APP的標(biāo)識(shí)信息的業(yè)務(wù)請(qǐng)求,以使所述第二APP 根據(jù)所述業(yè)務(wù)請(qǐng)求獲得所述第一 APP的信息,并獲取用戶(hù)的登錄會(huì)話(huà)信息,然后將包含所 述信息、業(yè)務(wù)請(qǐng)求和登錄會(huì)話(huà)信息的加密請(qǐng)求發(fā)送至所述第二服務(wù)器,以使所述第二服務(wù) 器根據(jù)所述加密請(qǐng)求生成加密信息; 所述第一 APP接收所述第二APP從所述第二服務(wù)器獲得的加密信息; 所述第一 APP向第一服務(wù)器發(fā)送所述加密信息,以使所述第一服務(wù)器對(duì)所述加密信息 進(jìn)行解密,根據(jù)解密結(jié)果獲得所述第一 APP的賬號(hào),并為所述賬號(hào)提供登錄服務(wù)。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一 APP的信息包括所述第一 APP的 包名和包簽名。
8. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述加密信息為所述第二服務(wù)器判斷出 所述加密請(qǐng)求中攜帶的所述第一 APP的信息和從數(shù)據(jù)庫(kù)中獲得的所述第一 APP的信息一致 后,根據(jù)所述登錄會(huì)話(huà)信息獲得用戶(hù)信息,并獲取系統(tǒng)時(shí)間戳,然后使用預(yù)設(shè)密鑰加密所述 用戶(hù)信息和所述系統(tǒng)時(shí)間戳而獲得的。
9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述用戶(hù)信息包括用戶(hù)標(biāo)識(shí)ID和用戶(hù)名。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述第一 APP的賬號(hào)為所述第一服務(wù)器 根據(jù)所述預(yù)設(shè)密鑰對(duì)所述加密信息進(jìn)行解密后,判斷所述系統(tǒng)時(shí)間戳和當(dāng)前系統(tǒng)時(shí)間之間 的時(shí)間差是否超過(guò)預(yù)設(shè)閾值,若未超過(guò),則根據(jù)所述用戶(hù)信息獲得的。
【文檔編號(hào)】H04L29/06GK104113534SQ201410313686
【公開(kāi)日】2014年10月22日 申請(qǐng)日期:2014年7月2日 優(yōu)先權(quán)日:2014年7月2日
【發(fā)明者】朱建庭, 陳鶴童 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司