本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及服務(wù)調(diào)用方法和裝置。
背景技術(shù):
在基于服務(wù)的架構(gòu)盛行的如今,大量應(yīng)用為了集成方便和降低模塊之間的耦合性,通常構(gòu)建出相對(duì)獨(dú)立的各個(gè)模塊。各個(gè)模塊之間互相屏蔽底層協(xié)議內(nèi)容的細(xì)節(jié),彼此通過(guò)服務(wù)與客戶架構(gòu)方式進(jìn)行通信,以達(dá)到整合服務(wù)的目的。在這種架構(gòu)方式下由于各模塊互相分離,需要對(duì)調(diào)用服務(wù)者的權(quán)限進(jìn)行認(rèn)證。
現(xiàn)有的認(rèn)證方式是利用令牌進(jìn)行識(shí)別,其認(rèn)證完全依賴令牌不泄密,存在信息安全隱患。因此,需要提高服務(wù)調(diào)用過(guò)程中的安全性。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提出一種改進(jìn)的服務(wù)調(diào)用方法和裝置,來(lái)解決以上背景技術(shù)部分提到的技術(shù)問(wèn)題。
第一方面,本申請(qǐng)?zhí)峁┝艘环N服務(wù)調(diào)用方法,所述方法包括:接收服務(wù)調(diào)用節(jié)點(diǎn)發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中所述票據(jù)是預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并在驗(yàn)證通過(guò)后生成的票據(jù),且所述票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和所述服務(wù)調(diào)用節(jié)點(diǎn)中;將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn),以使所述認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成認(rèn)證結(jié)果信息;接收所述認(rèn)證節(jié)點(diǎn)返回的所述認(rèn)證結(jié)果信息;在所述認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí),執(zhí)行所述服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至所述服務(wù)調(diào)用節(jié)點(diǎn)。
在一些實(shí)施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點(diǎn)與本機(jī)處于不同的域時(shí), 所述票據(jù)是所述認(rèn)證節(jié)點(diǎn)預(yù)先對(duì)所述客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成并返回至所述客戶端的票據(jù),且所述票據(jù)經(jīng)由所述客戶端發(fā)送至所述服務(wù)調(diào)用節(jié)點(diǎn)。
在一些實(shí)施例中,所述將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn),包括:使用安全聲明標(biāo)記語(yǔ)言協(xié)議對(duì)所述票據(jù)進(jìn)行封裝后發(fā)送至所述認(rèn)證節(jié)點(diǎn)。
在一些實(shí)施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點(diǎn)與本機(jī)處于相同的域時(shí),所述票據(jù)是登錄服務(wù)器預(yù)先對(duì)所述客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的cookie票據(jù),所述cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點(diǎn)、本機(jī)以及認(rèn)證節(jié)點(diǎn)所處的同一個(gè)域中共享。
第二方面,本申請(qǐng)?zhí)峁┝擞忠环N服務(wù)調(diào)用方法,所述方法包括:向服務(wù)提供節(jié)點(diǎn)發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中所述票據(jù)是對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的票據(jù),且所述票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和本機(jī)中;接收所述服務(wù)提供節(jié)點(diǎn)在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí)、執(zhí)行所述服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,所述認(rèn)證結(jié)果信息是所述服務(wù)提供節(jié)點(diǎn)將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn)后、由所述認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成的認(rèn)證結(jié)果信息,且所述認(rèn)證結(jié)果信息由所述認(rèn)證節(jié)點(diǎn)發(fā)送至所述服務(wù)提供節(jié)點(diǎn)。
第三方面,本申請(qǐng)?zhí)峁┝艘环N服務(wù)調(diào)用裝置,所述裝置包括:請(qǐng)求接收單元,用于接收服務(wù)調(diào)用節(jié)點(diǎn)發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中所述票據(jù)是預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并在驗(yàn)證通過(guò)后生成的票據(jù),且所述票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和所述服務(wù)調(diào)用節(jié)點(diǎn)中;發(fā)送單元,用于將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn),以使所述認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成認(rèn)證結(jié)果信息;信息接收單元,用于接收所述認(rèn)證節(jié)點(diǎn)返回的所述認(rèn)證結(jié)果信息;執(zhí)行單元,用于在所述認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí),執(zhí)行所述服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至所述服務(wù)調(diào)用節(jié)點(diǎn)。
在一些實(shí)施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點(diǎn)與本機(jī)處于不同的域時(shí), 所述票據(jù)是所述認(rèn)證節(jié)點(diǎn)預(yù)先對(duì)所述客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成并返回至所述客戶端的票據(jù),且所述票據(jù)經(jīng)由所述客戶端發(fā)送至所述服務(wù)調(diào)用節(jié)點(diǎn)。
在一些實(shí)施例中,所述發(fā)送單元進(jìn)一步用于:使用安全聲明標(biāo)記語(yǔ)言協(xié)議對(duì)所述票據(jù)進(jìn)行封裝后發(fā)送至所述認(rèn)證節(jié)點(diǎn)。
在一些實(shí)施例中,當(dāng)所述服務(wù)調(diào)用節(jié)點(diǎn)與本機(jī)處于相同的域時(shí),所述票據(jù)是登錄服務(wù)器預(yù)先對(duì)所述客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的cookie票據(jù),所述cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點(diǎn)、本機(jī)以及認(rèn)證節(jié)點(diǎn)所處的同一個(gè)域中共享。
第三方面,本申請(qǐng)?zhí)峁┝擞忠环N服務(wù)調(diào)用裝置,所述裝置包括:請(qǐng)求發(fā)送單元,用于向服務(wù)提供節(jié)點(diǎn)發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中所述票據(jù)是對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的票據(jù),且所述票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和本機(jī)中;信息接收單元,用于接收所述服務(wù)提供節(jié)點(diǎn)在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí)、執(zhí)行所述服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,所述認(rèn)證結(jié)果信息是所述服務(wù)提供節(jié)點(diǎn)將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn)后、由所述認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成的認(rèn)證結(jié)果信息,且所述認(rèn)證結(jié)果信息由所述認(rèn)證節(jié)點(diǎn)發(fā)送至所述服務(wù)提供節(jié)點(diǎn)。
本申請(qǐng)?zhí)峁┑姆?wù)調(diào)用方法和裝置,在服務(wù)調(diào)用請(qǐng)求中攜帶票據(jù),并通過(guò)第三方的認(rèn)證節(jié)點(diǎn)對(duì)票據(jù)的認(rèn)證,實(shí)現(xiàn)服務(wù)提供節(jié)點(diǎn)對(duì)服務(wù)調(diào)用請(qǐng)求的權(quán)限識(shí)別,非法用戶無(wú)法操作第三方的認(rèn)證節(jié)點(diǎn),從而有利于防止非法用戶通過(guò)獲取客戶端中的令牌等安全信息來(lái)偽造服務(wù)調(diào)用。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的服務(wù)調(diào)用方法的一個(gè)實(shí)施例的流程圖;
圖3是根據(jù)本申請(qǐng)的服務(wù)調(diào)用方法的又一個(gè)實(shí)施例的流程圖;
圖4是根據(jù)本申請(qǐng)的服務(wù)調(diào)用裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖5是根據(jù)本申請(qǐng)的服務(wù)調(diào)用裝置的又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖6是適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。
圖1示出了可以應(yīng)用本申請(qǐng)的服務(wù)調(diào)用方法或服務(wù)調(diào)用裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、應(yīng)用服務(wù)器102、應(yīng)用服務(wù)器103和認(rèn)證節(jié)點(diǎn)104等設(shè)備。各個(gè)設(shè)備之間可以通過(guò)網(wǎng)絡(luò)進(jìn)行通信,所使用的網(wǎng)絡(luò)可以包括各種連接類型,例如有線、無(wú)線通信鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101通過(guò)網(wǎng)絡(luò)與應(yīng)用服務(wù)器102交互,以訪問(wèn)應(yīng)用服務(wù)器102上運(yùn)行的應(yīng)用。
終端設(shè)備101可以是具有顯示屏并且支持網(wǎng)頁(yè)瀏覽的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書(shū)閱讀器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、mp4(movingpictureexpertsgroupaudiolayeriv,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。終端設(shè)備101上可以安裝有各種通訊客戶端應(yīng)用,例如網(wǎng)頁(yè)瀏覽器應(yīng)用。
應(yīng)用服務(wù)器102、應(yīng)用服務(wù)器103可以是提供各種服務(wù)的服務(wù)器,例如應(yīng)用服務(wù)器102可以對(duì)終端設(shè)備上運(yùn)行的客戶端應(yīng)用提供數(shù)據(jù)支持。應(yīng)用服務(wù)器102在對(duì)外提供服務(wù)時(shí),還可以調(diào)用應(yīng)用服務(wù)器103提供的服務(wù)。當(dāng)應(yīng)用服務(wù)器102調(diào)用應(yīng)用服務(wù)器103提供的服務(wù)時(shí),應(yīng)用服務(wù)器102為服務(wù)調(diào)用節(jié)點(diǎn),應(yīng)用服務(wù)器103為服務(wù)提供節(jié)點(diǎn)。服務(wù)調(diào)用節(jié)點(diǎn)和服務(wù)提供節(jié)點(diǎn)只是相對(duì)的,當(dāng)應(yīng)用服務(wù)器102被其他設(shè)備調(diào)用時(shí),應(yīng)用服務(wù)器102也可以是服務(wù)提供節(jié)點(diǎn);當(dāng)應(yīng)用服務(wù)器103調(diào)用其他設(shè)備時(shí),應(yīng)用服務(wù)器103也可以是服務(wù)調(diào)用節(jié)點(diǎn)。
認(rèn)證節(jié)點(diǎn)104可以對(duì)其他設(shè)備發(fā)送的票據(jù)進(jìn)行認(rèn)證,并生成認(rèn)證結(jié)果返回至相應(yīng)設(shè)備。
需要說(shuō)明的是,圖2對(duì)應(yīng)實(shí)施例的服務(wù)調(diào)用方法一般由服務(wù)提供節(jié)點(diǎn)(例如應(yīng)用服務(wù)器103)執(zhí)行,相應(yīng)的,圖4對(duì)應(yīng)實(shí)施例所提供的服務(wù)調(diào)用裝置一般設(shè)置在服務(wù)提供節(jié)點(diǎn)中;圖3對(duì)應(yīng)實(shí)施例的服務(wù)調(diào)用方法一般由服務(wù)調(diào)用節(jié)點(diǎn)(應(yīng)用服務(wù)器102)執(zhí)行,相應(yīng)的,圖5對(duì)應(yīng)實(shí)施例所提供的服務(wù)調(diào)用裝置一般設(shè)置在服務(wù)調(diào)用節(jié)點(diǎn)中。
應(yīng)該理解,圖1中的終端設(shè)備、應(yīng)用服務(wù)器和認(rèn)證節(jié)點(diǎn)的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、應(yīng)用服務(wù)器和認(rèn)證節(jié)點(diǎn)。
繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的服務(wù)調(diào)用方法的一個(gè)實(shí)施例的流程200。所述的服務(wù)調(diào)用方法,包括以下步驟:
步驟201,接收服務(wù)調(diào)用節(jié)點(diǎn)發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求。
在本實(shí)施例中,服務(wù)調(diào)用方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的應(yīng)用服務(wù)器103)可以通過(guò)有線連接方式或者無(wú)線連接方式從服務(wù)調(diào)用節(jié)點(diǎn)(例如圖1中的應(yīng)用服務(wù)器102)處接收服務(wù)調(diào)用請(qǐng)求。其中,上述服務(wù)調(diào)用請(qǐng)求攜帶有票據(jù)。該票據(jù)可以是各種設(shè)備對(duì)客戶端(例如圖1中的終端設(shè)備)進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的票據(jù)。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,當(dāng)服務(wù)調(diào)用節(jié)點(diǎn)與電子設(shè)備處于不同的域時(shí),上述票據(jù)(ticket)可以是認(rèn)證節(jié)點(diǎn)預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的,且票據(jù)經(jīng)由客戶端發(fā)送至服務(wù)調(diào)用 節(jié)點(diǎn)。
以下以圖1中的應(yīng)用服務(wù)器102作為接收客戶端訪問(wèn)的應(yīng)用服務(wù)器且作為服務(wù)調(diào)用節(jié)點(diǎn)、圖1中的終端設(shè)備101作為客戶端、圖1中的應(yīng)用服務(wù)器103為服務(wù)提供節(jié)點(diǎn)為例,對(duì)上述實(shí)現(xiàn)方式中票據(jù)的生成過(guò)程進(jìn)行說(shuō)明。首先,用戶使用終端設(shè)備101上的瀏覽器向應(yīng)用服務(wù)器102發(fā)出訪問(wèn)請(qǐng)求。接著,應(yīng)用服務(wù)器102可以在調(diào)用應(yīng)用服務(wù)器103提供的服務(wù)時(shí),判斷上述訪問(wèn)請(qǐng)求中是否帶有票據(jù),如果沒(méi)有,應(yīng)用服務(wù)器102可以向終端設(shè)備101發(fā)送授權(quán)命令,該授權(quán)命令中包含認(rèn)證節(jié)點(diǎn)104的地址;之后,終端設(shè)備101自動(dòng)執(zhí)行該授權(quán)命令,向所指示的認(rèn)證節(jié)點(diǎn)104發(fā)送授權(quán)請(qǐng)求,該授權(quán)請(qǐng)求中可以包含用戶身份信息(例如用戶名和密碼);認(rèn)證節(jié)點(diǎn)104可以對(duì)用戶身份信息進(jìn)行驗(yàn)證,在驗(yàn)證通過(guò)后,生成與該用戶身份信息對(duì)應(yīng)的票據(jù);最后,認(rèn)證節(jié)點(diǎn)104可以將所生成的票據(jù)發(fā)送至終端設(shè)備并在認(rèn)證節(jié)點(diǎn)中保存票據(jù)的副本;終端設(shè)備還可以將票據(jù)轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器102。
實(shí)踐中,本申請(qǐng)中的服務(wù)調(diào)用節(jié)點(diǎn)也可以不是直接接收客戶端訪問(wèn)的應(yīng)用服務(wù)器,而是對(duì)直接接收客戶端訪問(wèn)的應(yīng)用服務(wù)器直接或間接提供服務(wù)的其他應(yīng)用服務(wù)器。此時(shí),直接接收客戶端訪問(wèn)的應(yīng)用服務(wù)器通過(guò)以上流程獲得票據(jù)后,可以在服務(wù)調(diào)用過(guò)程中通過(guò)服務(wù)調(diào)用請(qǐng)求直接或間接傳遞到服務(wù)提供節(jié)點(diǎn)中,使得服務(wù)調(diào)用節(jié)點(diǎn)可以獲得該票據(jù),并在調(diào)用服務(wù)提供節(jié)點(diǎn)提供的服務(wù)時(shí)將票據(jù)攜帶在服務(wù)調(diào)用請(qǐng)求中傳遞給服務(wù)提供節(jié)點(diǎn)。
在該實(shí)現(xiàn)方式中,電子設(shè)備可以借助第三方的認(rèn)證節(jié)點(diǎn)為客戶端生成票據(jù),該票據(jù)可以通過(guò)客戶端對(duì)應(yīng)用服務(wù)器中服務(wù)的訪問(wèn)以及不同應(yīng)用服務(wù)器之間的服務(wù)調(diào)用完成票據(jù)的傳遞,作為服務(wù)提供節(jié)點(diǎn)的電子設(shè)備可以從服務(wù)調(diào)用節(jié)點(diǎn)順利獲得票據(jù),之后再進(jìn)行后續(xù)的認(rèn)證。該方式可以實(shí)對(duì)跨域的服務(wù)調(diào)用進(jìn)行認(rèn)證,安全性較高。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,當(dāng)上述服務(wù)調(diào)用節(jié)點(diǎn)與電子設(shè)備處于不同的域時(shí),上述票據(jù)是登錄服務(wù)器預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的cookie票據(jù),cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點(diǎn)、電子設(shè)備本機(jī)以及認(rèn)證節(jié)點(diǎn)所處的同一個(gè)域中共 享。cookie是網(wǎng)站為了辨別用戶身份、進(jìn)行會(huì)話跟蹤而儲(chǔ)存在用戶本地終端上的數(shù)據(jù),cookie中包含用于標(biāo)識(shí)用戶身份的cookie票據(jù)。在該實(shí)現(xiàn)方式中,cookie票據(jù)可以借助單點(diǎn)登錄機(jī)制在同一個(gè)域的多臺(tái)設(shè)備中進(jìn)行共享。即,在客戶端在通過(guò)登錄服務(wù)器的身份驗(yàn)證后,cookie票據(jù)可以借助同域名下各設(shè)備之間cookie的自動(dòng)傳遞機(jī)制實(shí)現(xiàn)共享。該方式可以對(duì)域內(nèi)的服務(wù)調(diào)用進(jìn)行認(rèn)證,且設(shè)備間票據(jù)的傳遞較少。
步驟202,將服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至認(rèn)證節(jié)點(diǎn),以使認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成認(rèn)證結(jié)果信息。
在本實(shí)施例中,基于步驟201中得到的服務(wù)調(diào)用請(qǐng)求,電子設(shè)備可以將服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送給認(rèn)證節(jié)點(diǎn)。由于認(rèn)證節(jié)點(diǎn)中預(yù)先存儲(chǔ)了一份票據(jù),該認(rèn)證節(jié)點(diǎn)可以使用所存儲(chǔ)的票據(jù)對(duì)接收到的票據(jù)進(jìn)行認(rèn)證,從而生成認(rèn)證結(jié)果,該認(rèn)證結(jié)果信息可以是指示認(rèn)證通過(guò)或未通過(guò)的信息。可選的,具體的認(rèn)證方法可以是將兩種票據(jù)的部分或全部信息進(jìn)行對(duì)比,當(dāng)一致性時(shí)判定為認(rèn)證通過(guò),否則判定為認(rèn)證未通過(guò)。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,電子設(shè)備可以使用安全聲明標(biāo)記語(yǔ)言(saml,securityassertionmarkuplanguage)協(xié)議對(duì)票據(jù)進(jìn)行封裝,并將封裝后的數(shù)據(jù)發(fā)送至認(rèn)證節(jié)點(diǎn)。saml協(xié)議是一個(gè)基于xml(extensiblemarkuplanguage,可擴(kuò)展標(biāo)記語(yǔ)言)的標(biāo)準(zhǔn),用于在不同的安全域之間交換認(rèn)證和授權(quán)數(shù)據(jù)。在saml標(biāo)準(zhǔn)定義了身份提供者和服務(wù)提供者,這兩者構(gòu)成了不同的安全域。在該實(shí)現(xiàn)方式中,票據(jù)的發(fā)送采用saml協(xié)議,有利于提高通信安全??蛇x的,在發(fā)送時(shí),底層的數(shù)據(jù)協(xié)議可以采用https協(xié)議,https是以安全為目標(biāo)的http通道,有利于進(jìn)一步提高信息傳輸?shù)陌踩浴?/p>
步驟203,接收認(rèn)證節(jié)點(diǎn)返回的認(rèn)證結(jié)果信息。
在本實(shí)施例中,基于步驟202中認(rèn)證節(jié)點(diǎn)生成的認(rèn)證結(jié)果信息,認(rèn)證節(jié)點(diǎn)可以將相應(yīng)的認(rèn)證結(jié)果信息發(fā)回至電子設(shè)備。電子設(shè)備可以對(duì)認(rèn)證節(jié)點(diǎn)進(jìn)行通信,以接收認(rèn)證節(jié)點(diǎn)發(fā)回的認(rèn)證結(jié)果信息。
步驟204,在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí),對(duì)服務(wù)調(diào)用請(qǐng)求進(jìn)行處理,并將處理生成的調(diào)用結(jié)果信息返回至服務(wù)調(diào)用節(jié)點(diǎn)。
在本實(shí)施例中,基于步驟203接收到認(rèn)證結(jié)果信息后,電子設(shè)備可以對(duì)認(rèn)證結(jié)果信息進(jìn)行解析。當(dāng)認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí),可以確定相應(yīng)的客戶端具有服務(wù)調(diào)用請(qǐng)求的權(quán)限,從而可以處理服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù),在處理生成調(diào)用結(jié)果信息后,將調(diào)用結(jié)果信息反饋給服務(wù)調(diào)用節(jié)點(diǎn),從而完成調(diào)用過(guò)程??蛇x的,若上述認(rèn)證結(jié)果信息指示認(rèn)證未通過(guò),則拒絕上述服務(wù)調(diào)用請(qǐng)求。
本申請(qǐng)的上述實(shí)施例提供的方法,在服務(wù)調(diào)用請(qǐng)求中攜帶票據(jù),并通過(guò)第三方的認(rèn)證節(jié)點(diǎn)對(duì)票據(jù)的認(rèn)證,實(shí)現(xiàn)服務(wù)提供節(jié)點(diǎn)對(duì)服務(wù)調(diào)用請(qǐng)求的權(quán)限識(shí)別,非法用戶無(wú)法操作第三方的認(rèn)證節(jié)點(diǎn),從而有利于防止非法用戶通過(guò)獲取客戶端中的令牌等安全信息來(lái)偽造服務(wù)調(diào)用。
進(jìn)一步參考圖3,其示出了服務(wù)調(diào)用方法的又一個(gè)實(shí)施例的流程300。該服務(wù)調(diào)用方法的流程300,包括以下步驟:
步驟301,向服務(wù)提供節(jié)點(diǎn)發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求。
在本實(shí)施例中,服務(wù)調(diào)用方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的應(yīng)用服務(wù)器102)可以通過(guò)有線連接方式或者無(wú)線連接方式向服務(wù)提供節(jié)點(diǎn)發(fā)送服務(wù)調(diào)用請(qǐng)求。該票據(jù)可以是各種設(shè)備對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的票據(jù),且票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和服務(wù)調(diào)用節(jié)點(diǎn)中。上述無(wú)線連接方式可以包括但不限于3g/4g連接、wifi連接、藍(lán)牙連接、wimax連接、zigbee連接、uwb(ultrawideband)連接、以及其他現(xiàn)在已知或?qū)?lái)開(kāi)發(fā)的無(wú)線連接方式。
需要說(shuō)明的是,電子設(shè)備可以在運(yùn)行應(yīng)用時(shí)主動(dòng)向服務(wù)提供節(jié)點(diǎn)發(fā)送服務(wù)調(diào)用請(qǐng)求,也可以是根據(jù)用戶通過(guò)客戶端上的瀏覽器發(fā)出執(zhí)行某個(gè)操作的命令,電子設(shè)備在執(zhí)行該命令所請(qǐng)求的操作時(shí)向調(diào)用服務(wù)提供節(jié)點(diǎn)請(qǐng)求調(diào)用執(zhí)行該操作的服務(wù)。
步驟302,接收服務(wù)提供節(jié)點(diǎn)在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí)、執(zhí)行服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù)而生成的調(diào)用結(jié)果信息。
在本實(shí)施例中,基于步驟202發(fā)送給服務(wù)調(diào)用節(jié)點(diǎn)的服務(wù)調(diào)用請(qǐng)求,服務(wù)提供節(jié)點(diǎn)可以通過(guò)票據(jù)對(duì)該服務(wù)調(diào)用請(qǐng)求的權(quán)限進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后執(zhí)行服務(wù)器調(diào)用請(qǐng)求所請(qǐng)求的服務(wù),并將執(zhí)行生成的調(diào)用結(jié)果信息發(fā)回至電子設(shè)備,從而使電子設(shè)備接收到該調(diào)用結(jié)果信息,完成服務(wù)調(diào)用過(guò)程。其中,服務(wù)提供節(jié)點(diǎn)可以通過(guò)以下步驟根據(jù)票據(jù)對(duì)服務(wù)調(diào)用請(qǐng)求的權(quán)限進(jìn)行判斷:首先,服務(wù)提供節(jié)點(diǎn)可以將票據(jù)發(fā)送給認(rèn)證節(jié)點(diǎn),認(rèn)證節(jié)點(diǎn)可以使用預(yù)先存儲(chǔ)的票據(jù)對(duì)所接收到的票據(jù)進(jìn)行認(rèn)證,并將認(rèn)證結(jié)果信息發(fā)回至服務(wù)提供節(jié)點(diǎn);之后,服務(wù)提供節(jié)點(diǎn)可以根據(jù)該認(rèn)證結(jié)果信息判定上述服務(wù)調(diào)用請(qǐng)求是否具體相應(yīng)的權(quán)限。
本申請(qǐng)的上述實(shí)施例提供的方法,在服務(wù)調(diào)用請(qǐng)求中攜帶票據(jù),并通過(guò)第三方的認(rèn)證節(jié)點(diǎn)對(duì)票據(jù)的認(rèn)證,實(shí)現(xiàn)服務(wù)提供節(jié)點(diǎn)對(duì)服務(wù)調(diào)用請(qǐng)求的權(quán)限識(shí)別,非法用戶無(wú)法操作第三方的認(rèn)證節(jié)點(diǎn),從而有利于防止非法用戶通過(guò)獲取客戶端中的令牌等安全信息來(lái)偽造服務(wù)調(diào)用。
進(jìn)一步參考圖4,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N服務(wù)調(diào)用裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種服務(wù)器中。
如圖4所示,本實(shí)施例所述的服務(wù)調(diào)用裝置400包括:請(qǐng)求接收單元401、發(fā)送單元402、信息接收單元403和執(zhí)行單元404。其中,請(qǐng)求接收單元401用于接收服務(wù)調(diào)用節(jié)點(diǎn)發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中票據(jù)是預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并在驗(yàn)證通過(guò)后生成的票據(jù),且票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和服務(wù)調(diào)用節(jié)點(diǎn)中;發(fā)送單元402用于將服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至認(rèn)證節(jié)點(diǎn),以使認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成認(rèn)證結(jié)果信息;信息接收單元403用于接收認(rèn)證節(jié)點(diǎn)返回的認(rèn)證結(jié)果信息;而執(zhí)行單元404用于在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí),執(zhí)行服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至服務(wù)調(diào)用節(jié)點(diǎn)。
在本實(shí)施例中,服務(wù)調(diào)用裝置400的請(qǐng)求接收單元401、發(fā)送單 元402、信息接收單元403和執(zhí)行單元404的具體處理可以參考圖2對(duì)應(yīng)實(shí)施例中的步驟201、步驟202、步驟203,這里不再贅述。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,當(dāng)服務(wù)調(diào)用節(jié)點(diǎn)與本機(jī)處于不同的域時(shí),票據(jù)是認(rèn)證節(jié)點(diǎn)預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成并返回至客戶端的票據(jù),且票據(jù)經(jīng)由客戶端發(fā)送至服務(wù)調(diào)用節(jié)點(diǎn)。該實(shí)現(xiàn)方式的具體處理可以參考圖2對(duì)應(yīng)實(shí)施例中相應(yīng)的實(shí)現(xiàn)方式,這里不再贅述。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,發(fā)送單元402進(jìn)一步用于:使用安全聲明標(biāo)記語(yǔ)言協(xié)議對(duì)票據(jù)進(jìn)行封裝后發(fā)送至認(rèn)證節(jié)點(diǎn)。該實(shí)現(xiàn)方式的具體處理可以參考圖2對(duì)應(yīng)實(shí)施例中相應(yīng)的實(shí)現(xiàn)方式,這里不再贅述。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,當(dāng)服務(wù)調(diào)用節(jié)點(diǎn)與本機(jī)處于相同的域時(shí),票據(jù)是登錄服務(wù)器預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的cookie票據(jù),cookie票據(jù)在包括登錄服務(wù)器、服務(wù)調(diào)用節(jié)點(diǎn)、本機(jī)以及認(rèn)證節(jié)點(diǎn)所處的同一個(gè)域中共享。該實(shí)現(xiàn)方式的具體處理可以參考圖2對(duì)應(yīng)實(shí)施例中相應(yīng)的實(shí)現(xiàn)方式,這里不再贅述。
進(jìn)一步參考圖5,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝擞忠环N服務(wù)調(diào)用裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖3所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種服務(wù)器中。
如圖5所示,本實(shí)施例所述的服務(wù)調(diào)用裝置500包括:請(qǐng)求發(fā)送單元501、信息接收單元502。其中,請(qǐng)求發(fā)送單元501用于向服務(wù)提供節(jié)點(diǎn)發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中票據(jù)是對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的票據(jù),且票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和本機(jī)中;信息接收單元502用于接收服務(wù)提供節(jié)點(diǎn)在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí)、執(zhí)行服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,認(rèn)證結(jié)果信息是服務(wù)提供節(jié)點(diǎn)將服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至認(rèn)證節(jié)點(diǎn)后、由認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成的認(rèn)證結(jié)果信息,且認(rèn)證結(jié)果信息由認(rèn)證節(jié)點(diǎn)發(fā)送至服務(wù)提供節(jié)點(diǎn)。
在本實(shí)施例中,服務(wù)調(diào)用裝置500的請(qǐng)求發(fā)送單元501、信息接收單元502的具體處理可以參考圖3對(duì)應(yīng)實(shí)施例中的步驟301、步驟32,這里不再贅述。
下面參考圖6,其示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)600的結(jié)構(gòu)示意圖。
如圖6所示,計(jì)算機(jī)系統(tǒng)600包括中央處理單元(cpu)601,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)602中的程序或者從存儲(chǔ)部分608加載到隨機(jī)訪問(wèn)存儲(chǔ)器(ram)603中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram603中,還存儲(chǔ)有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。cpu601、rom602以及ram603通過(guò)總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
以下部件連接至i/o接口605:包括鍵盤(pán)、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分607;包括硬盤(pán)等的存儲(chǔ)部分608;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器610也根據(jù)需要連接至i/o接口605??刹鹦督橘|(zhì)611,諸如磁盤(pán)、光盤(pán)、磁光盤(pán)、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器610上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分608。
特別地,根據(jù)本公開(kāi)的實(shí)施例,上文參考流程圖描述的過(guò)程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開(kāi)的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過(guò)通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于 實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過(guò)軟件的方式實(shí)現(xiàn),也可以通過(guò)硬件的方式來(lái)實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括請(qǐng)求接收單元、發(fā)送單元、信息接收單元和執(zhí)行單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,請(qǐng)求接收單元還可以被描述為“接收服務(wù)調(diào)用節(jié)點(diǎn)發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求的單元”。
作為另一方面,本申請(qǐng)還提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),該非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。上述非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:接收服務(wù)調(diào)用節(jié)點(diǎn)發(fā)送的、攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中所述票據(jù)是預(yù)先對(duì)客戶端進(jìn)行身份驗(yàn)證并在驗(yàn)證通過(guò)后生成的票據(jù),且所述票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和所述服務(wù)調(diào)用節(jié)點(diǎn)中;將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn),以使所述認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成認(rèn)證結(jié)果信息;接收所述認(rèn)證節(jié)點(diǎn)返回的所述認(rèn)證結(jié)果信息;在所述認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí),執(zhí)行所述服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù),并將執(zhí)行服務(wù)所生成的調(diào)用結(jié)果信息返回至所述服務(wù)調(diào)用節(jié)點(diǎn)?;蛘撸鲜龇且资杂?jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:向服務(wù)提供節(jié)點(diǎn)發(fā)送攜帶有票據(jù)的服務(wù)調(diào)用請(qǐng)求,其中所述票據(jù)是對(duì)客戶端進(jìn)行身份驗(yàn)證并驗(yàn)證通過(guò)后生成的票據(jù),且所述票據(jù)同時(shí)存儲(chǔ)在認(rèn)證節(jié)點(diǎn)和本機(jī)中;接收所述服務(wù)提供 節(jié)點(diǎn)在認(rèn)證結(jié)果信息指示認(rèn)證通過(guò)時(shí)、執(zhí)行所述服務(wù)調(diào)用請(qǐng)求所請(qǐng)求的服務(wù)而生成的調(diào)用結(jié)果信息,其中,所述認(rèn)證結(jié)果信息是所述服務(wù)提供節(jié)點(diǎn)將所述服務(wù)調(diào)用請(qǐng)求中的票據(jù)發(fā)送至所述認(rèn)證節(jié)點(diǎn)后、由所述認(rèn)證節(jié)點(diǎn)使用所存儲(chǔ)的票據(jù)對(duì)所接收的票據(jù)進(jìn)行認(rèn)證而生成的認(rèn)證結(jié)果信息,且所述認(rèn)證結(jié)果信息由所述認(rèn)證節(jié)點(diǎn)發(fā)送至所述服務(wù)提供節(jié)點(diǎn)。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說(shuō)明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開(kāi)的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。