本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種iOS平臺(tái)scheme傳送方法、裝置、服務(wù)器及系統(tǒng)。
背景技術(shù):
iOS是蘋果公司開發(fā)的移動(dòng)操作系統(tǒng),可以應(yīng)用與iPhone、iPod touch、iPad以及Apple TV等產(chǎn)品上。在iOS里,應(yīng)用程序(app)之間都是相互獨(dú)立的,為了滿足用戶對(duì)應(yīng)用程序間通信的需求,iOS提出了URL Scheme方案。
目前URL scheme方案的具體過(guò)程是應(yīng)用程序注冊(cè)自己的URL scheme,將應(yīng)用自身綁定到注冊(cè)的URL scheme上,該URL scheme用于從其他應(yīng)用程序中啟動(dòng)本應(yīng)用程序。這樣,用戶可以在一個(gè)應(yīng)用程序中啟動(dòng)另一個(gè)應(yīng)用程序,實(shí)現(xiàn)了不同應(yīng)用程序間的信息共享,具體的可以使用UI Application類的open URL方法來(lái)實(shí)現(xiàn)在一個(gè)應(yīng)用程序中啟動(dòng)另一個(gè)應(yīng)用程序。
但現(xiàn)有的URL scheme方案在實(shí)施時(shí),容易出現(xiàn)以下問(wèn)題:黑客會(huì)根據(jù)本地應(yīng)用程序注冊(cè)的“URL scheme”,偽造一個(gè)應(yīng)用程序并為該偽造的應(yīng)用程序注冊(cè)與本地應(yīng)用程序相同的“URL scheme”,這樣,當(dāng)其他應(yīng)用程序通過(guò)URL scheme方案啟動(dòng)本地應(yīng)用程序時(shí),由于偽造的應(yīng)用程序與本地應(yīng)用程序采用相同的“URL scheme”,因此偽造的應(yīng)用程序會(huì)被啟動(dòng),同時(shí),偽造的應(yīng)用程序會(huì)獲得其他應(yīng)用程序發(fā)送的參數(shù)信息,因此,現(xiàn)有的URL scheme方案存在導(dǎo)致應(yīng)用程序間發(fā)送的參數(shù)信息被泄露的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種iOS平臺(tái)scheme傳送方法,用以解決現(xiàn)有技術(shù)通過(guò)URL Scheme傳送參數(shù)信息時(shí),出現(xiàn)的信息泄露的問(wèn)題。
本發(fā)明還提供了一種iOS平臺(tái)scheme傳送裝置、服務(wù)器及系統(tǒng),用以保證上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。
根據(jù)本發(fā)明的一個(gè)方面,提供一種iOS平臺(tái)scheme傳送方法,該方法包 括:
第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌;
第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌;
第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶所述令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
優(yōu)選的,所述第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌,包括:
第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議中的加密算法或者映射算法生成供第二應(yīng)用程序從服務(wù)器請(qǐng)求服務(wù)參數(shù)的令牌。
優(yōu)選的,所述第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌,包括:
第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議向服務(wù)器發(fā)送令牌請(qǐng)求;
第一應(yīng)用程序接收服務(wù)器依據(jù)所述令牌請(qǐng)求返回的令牌。
根據(jù)本發(fā)明的另一方面,提供一種iOS平臺(tái)scheme傳送方法,該方法包括:
服務(wù)器接收第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議發(fā)送的攜帶令牌的服務(wù)參數(shù)請(qǐng)求;
服務(wù)器從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌,并向第二應(yīng)用程序返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
優(yōu)選的,所述方法還包括:
服務(wù)器接收第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議發(fā)送的令牌請(qǐng)求;
服務(wù)器根據(jù)所述令牌請(qǐng)求向第一應(yīng)用程序返回令牌,以供第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌。
優(yōu)選的,所述服務(wù)器從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌,并返回與所述令牌相關(guān)的服務(wù)參數(shù)信息包括:
服務(wù)器從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌;
服務(wù)器按照與第一應(yīng)用程序預(yù)約的第一協(xié)議中的解密算法或者逆映射算 法生成與所述令牌相關(guān)的服務(wù)參數(shù)信息,并向第二應(yīng)用程序返回所述服務(wù)參數(shù)信息。
根據(jù)本發(fā)明的另一方面,提供一種iOS平臺(tái)scheme傳送裝置,該裝置包括:
第一控制單元,用于控制第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌;
第二控制單元,用于控制第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌;
第三控制單元,用于控制第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶所述令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
優(yōu)選的,所述第一控制單元,具體用于控制第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議中的加密算法或者映射算法生成供第二應(yīng)用程序從服務(wù)器請(qǐng)求服務(wù)參數(shù)的令牌。
優(yōu)選的,所述第一控制單元,包括:
控制發(fā)送子單元,用于控制第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議向服務(wù)器發(fā)送令牌請(qǐng)求;
控制接收子單元,用于控制第一應(yīng)用程序接收服務(wù)器依據(jù)所述令牌請(qǐng)求返回的令牌。
根據(jù)本發(fā)明的另一方面,提供一種服務(wù)器,該服務(wù)器包括:
服務(wù)參數(shù)請(qǐng)求接收單元,用于接收第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議發(fā)送的攜帶令牌的服務(wù)參數(shù)請(qǐng)求;
服務(wù)參數(shù)信息返回單元,用于從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌,并向第二應(yīng)用程序返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
優(yōu)選的,所述服務(wù)器還包括:
令牌請(qǐng)求接收單元,用于接收第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議發(fā)送的令牌請(qǐng)求;
令牌返回單元,用于根據(jù)所述令牌請(qǐng)求向第一應(yīng)用程序返回令牌,以供第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所 述令牌。
優(yōu)選的,所述服務(wù)參數(shù)信息返回單元包括:
令牌解析子單元,用于從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌;
參數(shù)返回子單元,用于按照與第一應(yīng)用程序預(yù)約的第一協(xié)議中的解密算法或者逆映射算法生成與所述令牌相關(guān)的服務(wù)參數(shù)信息,并向第二應(yīng)用程序返回所述服務(wù)參數(shù)信息。
根據(jù)本發(fā)明的另一方面,提供一種iOS平臺(tái)scheme傳送系統(tǒng),包括:上述服務(wù)器和智能終端,其中,
所述智能終端包括上述iOS平臺(tái)scheme傳送裝置;所述智能終端的操作系統(tǒng)為iOS系統(tǒng)且至少安裝兩個(gè)應(yīng)用程序,其中一個(gè)應(yīng)用程序作為第一應(yīng)用程序,與其通信的另一個(gè)應(yīng)用程序作為第二應(yīng)用程序,所述智能終端通過(guò)iOS平臺(tái)scheme傳送裝置控制第一應(yīng)用程序和第二應(yīng)用程序通過(guò)所述服務(wù)器實(shí)現(xiàn)程序間通信。
由上述實(shí)施例可以看出,與現(xiàn)有技術(shù)相比本發(fā)明的優(yōu)點(diǎn)在于:
本發(fā)明在兩個(gè)應(yīng)用程序間通過(guò)URL scheme來(lái)傳送參數(shù)信息時(shí),首先由發(fā)起方第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌,然后,第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌;最后,由第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶所述令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。本發(fā)明引入了服務(wù)器,通過(guò)應(yīng)用程序與服務(wù)器間預(yù)約協(xié)議的方式以及通過(guò)傳輸令牌的方式,使得應(yīng)用程序間不直接傳輸參數(shù)信息的明文信息,而是通過(guò)傳送令牌來(lái)觸發(fā)服務(wù)器進(jìn)行相應(yīng)處理,由于令牌不是實(shí)際的參數(shù)信息,因此,黑客攔截到令牌也無(wú)法獲得要傳遞的參數(shù)信息,更為重要的是,黑客不知道第二應(yīng)用程序與服務(wù)器之間的通信協(xié)議,即便黑客攔截到令牌,其也無(wú)法從服務(wù)器獲得實(shí)際的參數(shù)信息,因此,本發(fā)明通過(guò)令牌及引入服務(wù)器確保在實(shí)現(xiàn)URL scheme傳送信息時(shí),不會(huì)出現(xiàn)信息泄露的問(wèn)題,保證傳送信息的安全性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明終端側(cè)的iOS平臺(tái)scheme傳送方法的第一流程圖;
圖2為本發(fā)明服務(wù)器側(cè)的iOS平臺(tái)scheme傳送方法的第一流程圖;
圖3為本發(fā)明的iOS平臺(tái)scheme傳送裝置的結(jié)構(gòu)圖;
圖4為本發(fā)明的服務(wù)器的第一結(jié)構(gòu)圖;
圖5為本發(fā)明的服務(wù)器的第二結(jié)構(gòu)圖;
圖6為本發(fā)明iOS平臺(tái)scheme傳送系統(tǒng)的示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
下面通過(guò)實(shí)施例進(jìn)行描述。
參閱圖1,圖1示出了本發(fā)明實(shí)施例一種iOS平臺(tái)scheme傳送方法的流程圖,如圖1所示,本實(shí)施例的方法可以包括:
S101,第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌。
本實(shí)施例的方法具體應(yīng)用在iOS平臺(tái)的終端中,如iPhone、iPod touch、iPad以及Apple TV等終端,在這些終端上至少已安裝有兩個(gè)應(yīng)用程序,以支持iOS平臺(tái)scheme傳送功能,實(shí)現(xiàn)兩個(gè)應(yīng)用程序的通信。
在本實(shí)施例中提到的第一應(yīng)用程序和第二應(yīng)用程序是指安裝在同一終端上的兩個(gè)不同的應(yīng)用程序。本實(shí)施例的方法是從終端側(cè)的角度描述的,以第一應(yīng)用程序作為發(fā)起方,第二應(yīng)用程序作為接收方,而第一應(yīng)用程序和第二 應(yīng)用程序可以是終端上安裝的任意兩個(gè)應(yīng)用程序。
本實(shí)施例的方法為了防止iOS平臺(tái)scheme傳送的出現(xiàn)信息泄露的問(wèn)題,在實(shí)現(xiàn)過(guò)程中引入了服務(wù)器。第一應(yīng)用程序(發(fā)起方)和服務(wù)器需要預(yù)先約定一個(gè)協(xié)議,該協(xié)議作為第一協(xié)議,在實(shí)現(xiàn)應(yīng)用程序間通信時(shí),第一應(yīng)用程序必須遵循第一協(xié)議實(shí)現(xiàn)發(fā)送功能。
上文中的令牌是一種能夠控制站點(diǎn)占有媒體的特殊幀,以區(qū)別數(shù)據(jù)幀及其他控制幀。令牌(token)通俗點(diǎn)可以稱為暗號(hào),在一些數(shù)據(jù)傳輸之前,要先進(jìn)行暗號(hào)的核對(duì),不同的暗號(hào)被授權(quán)不同的數(shù)據(jù)操作。
關(guān)于第一應(yīng)用程序如何得到令牌,本發(fā)明還提供了以下兩種實(shí)現(xiàn)方式,下面依次進(jìn)行解釋說(shuō)明。
第一種實(shí)現(xiàn)方式:第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議中的加密算法或者映射算法生成供第二應(yīng)用程序從服務(wù)器請(qǐng)求服務(wù)參數(shù)的令牌。
在第一種實(shí)現(xiàn)方式中,第一應(yīng)用程序獨(dú)立按照與服務(wù)器預(yù)約的第一協(xié)議完成加密或者映射處理得到令牌;服務(wù)器中則預(yù)先保存著與第一應(yīng)用程序預(yù)約的解密算法或者逆映射算法以便后續(xù)為第二應(yīng)用程序提供解析信息的服務(wù);而在第一應(yīng)用程序得到令牌的過(guò)程中,不再需要服務(wù)器對(duì)信息處理,節(jié)省服務(wù)器的訪問(wèn)壓力。
第二種實(shí)現(xiàn)方式:第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議向服務(wù)器發(fā)送令牌請(qǐng)求;以及第一應(yīng)用程序接收服務(wù)器依據(jù)所述令牌請(qǐng)求返回的令牌。
在第二種實(shí)現(xiàn)方式中,第一應(yīng)用程序需要先向服務(wù)器發(fā)送令牌請(qǐng)求,由服務(wù)器生成令牌返回給第一應(yīng)用程序,服務(wù)器儲(chǔ)存有與令牌對(duì)應(yīng)的相關(guān)參數(shù)信息,以支持后續(xù)的第二應(yīng)用程序的服務(wù)參數(shù)請(qǐng)求。
S102,第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌。
S103,第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶所述令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
第一應(yīng)用程序得到令牌之后,按照URL scheme調(diào)用方式,通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送令牌。這樣,對(duì)于第一應(yīng)用程序和第二應(yīng)用程序而言,兩者間傳輸?shù)氖橇钆?,而不是參?shù)信息。在第二應(yīng)用 程序接收到令牌之后,通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與令牌相關(guān)的服務(wù)參數(shù)信息。
首先,由于令牌token不是實(shí)際的參數(shù)信息,因此,即便黑客攔截到token,也無(wú)法獲得要傳遞的參數(shù)信息,其次,黑客不知道第二應(yīng)用程序與服務(wù)器之間有預(yù)約的通信協(xié)議,所以,黑客拿到token后并不知道要想服務(wù)器發(fā)送服務(wù)參數(shù)請(qǐng)求,即便是知道有服務(wù)器的存在,也無(wú)法破解出第二應(yīng)用程序與服務(wù)器間預(yù)約好的協(xié)議,因此也無(wú)法從服務(wù)器獲取真正的參數(shù)信息。可見,本發(fā)明在保證應(yīng)用程序間正常通信的同時(shí),又能夠防止信息泄露。
下面以具體的應(yīng)用場(chǎng)景為例對(duì)上述實(shí)施例的方案進(jìn)行解釋說(shuō)明。
例如,發(fā)送方應(yīng)用程序和接收方應(yīng)用程序分別屬于兩家公司,這兩家公司合作運(yùn)營(yíng)一個(gè)活動(dòng),該活動(dòng)內(nèi)容是凡是在發(fā)送方應(yīng)用程序內(nèi)到達(dá)一個(gè)指定界面的用戶,就可以去接收方應(yīng)用程序中領(lǐng)取一個(gè)紅包。
首先,接收方應(yīng)用程序先注冊(cè)一個(gè)URL scheme,例如:hongbaoA。
然后,發(fā)送方應(yīng)用程序從服務(wù)器請(qǐng)求一個(gè)紅包的令牌token;
接著,發(fā)送方應(yīng)用程序把token通過(guò)URL scheme調(diào)用方式發(fā)送給接收方應(yīng)用程序。例如:hongbaoA://hongbaoId=token將token傳遞給接收方應(yīng)用程序。
最后,接收方應(yīng)用程序接收到token時(shí),按照與服務(wù)器預(yù)約的協(xié)議向服務(wù)器發(fā)送攜帶有token的服務(wù)參數(shù)請(qǐng)求,服務(wù)器接收請(qǐng)求之后,找到與token相關(guān)的紅包信息,比如紅包的金額、紅包的有效期、紅包的使用方式等,服務(wù)器將紅包信息返回給接收方應(yīng)用程序。此時(shí),接收方應(yīng)用程序才能獲取到真正的參數(shù)信息。
在整個(gè)過(guò)程中,由于token并不是真正的參數(shù)信息,因此即便是黑客攔截到token,也無(wú)法直接得到參數(shù)信息,進(jìn)一步地,黑客并不知道整個(gè)傳輸機(jī)制中有服務(wù)器的參與,即使知道,也很難破解接收方應(yīng)用程序與服務(wù)器之間的協(xié)議,因此,其無(wú)法從服務(wù)器獲取真正的參數(shù)信息??梢姡景l(fā)明在保證應(yīng)用程序間的正常通信時(shí),能夠做到防止信息泄露。
上文針對(duì)終端側(cè)的應(yīng)用程序角度描述了本發(fā)明iOS平臺(tái)scheme傳送方 法,對(duì)應(yīng)的,本發(fā)明還從服務(wù)器角度提供了對(duì)應(yīng)的傳送方法。
參閱圖2,圖2示出了本發(fā)明服務(wù)器側(cè)的iOS平臺(tái)scheme傳送方法的流程圖,如圖2所示,本實(shí)施例的方法可以包括:
S201,服務(wù)器接收第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議發(fā)送的攜帶令牌的服務(wù)參數(shù)請(qǐng)求。
在本實(shí)施例中,第二應(yīng)用程序是指應(yīng)用程序間通信過(guò)程中的接收方應(yīng)用程序。這里的令牌是由第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送的;而第一應(yīng)用程序就是應(yīng)用程序間通信過(guò)程中的發(fā)送方應(yīng)用程序。
S202,服務(wù)器從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌,并向第二應(yīng)用程序返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
對(duì)于接收方應(yīng)用程序來(lái)講,在于發(fā)送方應(yīng)用程序進(jìn)行通信時(shí),接收到發(fā)送方應(yīng)用程序發(fā)送的令牌之后,直接向服務(wù)器發(fā)送服務(wù)參數(shù)請(qǐng)求,由服務(wù)器向接收方應(yīng)用程序返回具體的參數(shù)信息。
服務(wù)器和第二應(yīng)用程序預(yù)約的第二協(xié)議可以約定好通過(guò)身份驗(yàn)證信息如ID或者其他標(biāo)識(shí)號(hào)(除了“URL scheme”之外的標(biāo)識(shí)號(hào))來(lái)進(jìn)行通信,這樣,服務(wù)器在接收到第二應(yīng)用程序發(fā)送的服務(wù)參數(shù)請(qǐng)求時(shí),先對(duì)其身份進(jìn)行驗(yàn)證,在驗(yàn)證通過(guò)時(shí),才繼續(xù)為其提供對(duì)應(yīng)的服務(wù)。在這種傳送機(jī)制下,黑客只知道通過(guò)偽造相同的URL scheme去竊取參數(shù)信息,并不知道與服務(wù)器交互以獲得真正的參數(shù)信息,更加不知道有預(yù)約的協(xié)議的渠道,也不知道協(xié)議內(nèi)容是什么,因此,對(duì)于黑客而言,偽造了URL scheme也只能得到令牌,無(wú)法得到真正的參數(shù)信息。
由于服務(wù)器參與了應(yīng)用程序間的通信,使得應(yīng)用程序間不直接傳輸參數(shù)信息,而是僅傳輸令牌,以防止黑客直接攔截參數(shù)信息;另外,接收方應(yīng)用程序與服務(wù)器間按照預(yù)約的協(xié)議來(lái)進(jìn)行通信,一方面黑客無(wú)法知道需要與服務(wù)器來(lái)進(jìn)行通信,另一方面黑客很難破解協(xié)議,也無(wú)法從服務(wù)器獲取真正的參數(shù)信息。
在具體實(shí)現(xiàn)時(shí),服務(wù)器還可以為第一應(yīng)用程序生成令牌,以參與整個(gè)通信過(guò)程,具體的在上述方法的基礎(chǔ)上,所述方法還包括:
服務(wù)器接收第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議發(fā)送的令牌請(qǐng)求;以及,
服務(wù)器根據(jù)所述令牌請(qǐng)求向第一應(yīng)用程序返回令牌,以供第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌。
優(yōu)選的,所述服務(wù)器從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌,并返回與所述令牌相關(guān)的服務(wù)參數(shù)信息包括:
服務(wù)器從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌;
服務(wù)器按照與第一應(yīng)用程序預(yù)約的第一協(xié)議中的解密算法或者逆映射算法生成與所述令牌相關(guān)的服務(wù)參數(shù)信息,并向第二應(yīng)用程序返回所述服務(wù)參數(shù)信息。
這樣,在應(yīng)用程序間的參數(shù)信息的發(fā)送過(guò)程和接收過(guò)程,均需要服務(wù)器的參與,且最重要的參數(shù)信息只由服務(wù)器管理,因此能夠解決應(yīng)用程序間的信息泄露問(wèn)題。
上文針對(duì)iOS平臺(tái)scheme傳送方法進(jìn)行了描述,對(duì)應(yīng)的,本發(fā)明提供了對(duì)應(yīng)的傳送裝置。
參閱圖3,圖3示出了本發(fā)明的iOS平臺(tái)scheme傳送裝置的結(jié)構(gòu)圖,如圖3所示,本實(shí)施例的裝置應(yīng)用于終端側(cè),該裝置可以包括:
第一控制單元301,用于控制第一應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第一協(xié)議得到令牌;
第二控制單元302,用于控制第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌;
第三控制單元303,用于控制第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶所述令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
優(yōu)選的,第一控制單元,具體用于控制第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議中的加密算法或者映射算法生成供第二應(yīng)用程序從服務(wù)器請(qǐng)求服務(wù)參數(shù)的令牌。
優(yōu)選的,第一控制單元,包括:
控制發(fā)送子單元,用于控制第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議 向服務(wù)器發(fā)送令牌請(qǐng)求;
控制接收子單元,用于控制第一應(yīng)用程序接收服務(wù)器依據(jù)所述令牌請(qǐng)求返回的令牌。
上文針對(duì)服務(wù)器側(cè)的iOS平臺(tái)scheme傳送方法進(jìn)行了描述,對(duì)應(yīng)的,本發(fā)明提供了對(duì)應(yīng)的服務(wù)器。
參閱圖4,圖4示出了本發(fā)明的服務(wù)器的第一結(jié)構(gòu)圖,如圖4所示,該服務(wù)器可以包括:
服務(wù)參數(shù)請(qǐng)求接收單元401,用于接收第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議發(fā)送的攜帶令牌的服務(wù)參數(shù)請(qǐng)求;
服務(wù)參數(shù)信息返回單元402,用于從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌,并向第二應(yīng)用程序返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。
參閱圖5,圖5示出了本發(fā)明的服務(wù)器的第二結(jié)構(gòu)圖,如5所示的服務(wù)器是在圖4的基礎(chǔ)上還包括:
令牌請(qǐng)求接收單元403,用于接收第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議發(fā)送的令牌請(qǐng)求;
令牌返回單元404,用于根據(jù)所述令牌請(qǐng)求向第一應(yīng)用程序返回令牌,以供第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌。
優(yōu)選的,所述服務(wù)參數(shù)信息返回單元包括:
令牌解析子單元,用于從所述服務(wù)參數(shù)請(qǐng)求中解析出所述令牌;
參數(shù)返回子單元,用于按照與第一應(yīng)用程序預(yù)約的第一協(xié)議中的解密算法或者逆映射算法生成與所述令牌相關(guān)的服務(wù)參數(shù)信息,并向第二應(yīng)用程序返回所述服務(wù)參數(shù)信息。
另外,本發(fā)明提供了一種iOS平臺(tái)scheme傳送系統(tǒng)。
參閱圖6,圖6示出了本發(fā)明的iOS平臺(tái)scheme傳送系統(tǒng)的示意圖,如圖6所示,該系統(tǒng)包括:智能終端601和服務(wù)器602,其中,
所述智能終端包括上述iOS平臺(tái)scheme傳送裝置;所述智能終端的操作系統(tǒng)為iOS系統(tǒng)且至少安裝兩個(gè)應(yīng)用程序,其中一個(gè)應(yīng)用程序作為第一應(yīng)用程序,與其通信的另一個(gè)應(yīng)用程序作為第二應(yīng)用程序,所述智能終端通過(guò)iOS 平臺(tái)scheme傳送裝置控制第一應(yīng)用程序和第二應(yīng)用程序通過(guò)所述服務(wù)器實(shí)現(xiàn)程序間通信。
其中,iOS平臺(tái)scheme傳送裝置可以參見圖3相關(guān)描述,服務(wù)器602的結(jié)構(gòu)可以參見圖4和圖5相關(guān)描述。智能終端和服務(wù)器可以通過(guò)有線方式通信也可以通過(guò)無(wú)線方式通信。
通過(guò)上述實(shí)施例可以看出,本發(fā)明提供的iOS平臺(tái)scheme傳送系統(tǒng),利用服務(wù)器為應(yīng)用程序間的信息傳送提供安全性保障,使得第一應(yīng)用程序按照與服務(wù)器預(yù)約的第一協(xié)議生成令牌,然后,第一應(yīng)用程序通過(guò)第二應(yīng)用程序注冊(cè)的URL scheme向第二應(yīng)用程序發(fā)送所述令牌;最后,由第二應(yīng)用程序通過(guò)與服務(wù)器預(yù)約的第二協(xié)議向服務(wù)器發(fā)送攜帶所述令牌的服務(wù)參數(shù)請(qǐng)求,以請(qǐng)求服務(wù)器返回與所述令牌相關(guān)的服務(wù)參數(shù)信息。由于引入了服務(wù)器,通過(guò)應(yīng)用程序與服務(wù)器間預(yù)約協(xié)議的方式以及通過(guò)傳輸令牌的方式,使得應(yīng)用程序間不直接傳輸參數(shù)信息的明文信息,而是通過(guò)傳送令牌來(lái)觸發(fā)相應(yīng)處理,由于令牌不是實(shí)際的參數(shù)信息,因此,即便黑客攔截到也無(wú)法獲得要傳遞的參數(shù)信息,其次,黑客不知道第二應(yīng)用程序與服務(wù)器之間的通信協(xié)議,其無(wú)法從服務(wù)器獲得實(shí)際的參數(shù)信息,因此,本發(fā)明提供的系統(tǒng)能夠確保在實(shí)現(xiàn)URL scheme傳送信息時(shí),規(guī)避信息泄露。
本領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,上述描述裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述到的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性、機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或 者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),可以采用軟件功能單元的形式實(shí)現(xiàn)。
需要說(shuō)明的是,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
以上對(duì)本發(fā)明所提供的iOS平臺(tái)scheme傳送方法、裝置、服務(wù)器以及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。