亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種調(diào)用restapi的方法、系統(tǒng)及客戶端的制作方法

文檔序號:6535607閱讀:248來源:國知局
一種調(diào)用rest api的方法、系統(tǒng)及客戶端的制作方法
【專利摘要】本發(fā)明公開了一種調(diào)用REST?API的方法、系統(tǒng)及客戶端,其中,該方法包括:通過RBAC認證授權(quán)系統(tǒng)對請求調(diào)用REST?API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值;根據(jù)請求調(diào)用所述REST?API所需的參數(shù)、所述REST?API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;將所述密鑰攜帶在調(diào)用所述RESTAPI的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述REST?API。本發(fā)明通過RBAC認證授權(quán)系統(tǒng)限制非法用戶調(diào)用REST?API,對通過授權(quán)的用戶的調(diào)用請求進行加密,保證了調(diào)用REST?API的安全性,防止在調(diào)用REST?APT時受到攻擊。
【專利說明】—種調(diào)用REST API的方法、系統(tǒng)及客戶端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機網(wǎng)絡(luò)領(lǐng)域,具體涉及一種調(diào)用REST (Representational StateTransfer,表述性狀態(tài)轉(zhuǎn)移)API (Application Program Interface,應(yīng)用程序接口)的方法、系統(tǒng)及客戶端。
【背景技術(shù)】
[0002]REST (Representational State Transfer,表述性狀態(tài)轉(zhuǎn)移)是一種針對網(wǎng)絡(luò)應(yīng)用的設(shè)計和開發(fā)方式,可以降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。REST的流行使得越來越多的框架開始支持REST,為構(gòu)建下一代高性能、高可伸縮性、簡單性、可移植性、可靠性的Web程序提供了一個架構(gòu)風格上的準則。
[0003]在Web應(yīng)用程序開發(fā)過程中,隨著安全成為了 SOA (Service-OrientedArchitecture,面向服務(wù)的體系結(jié)構(gòu))實現(xiàn)的主要宗旨之一,以及REST迅速成為流行的SOA實現(xiàn)方案之一,REST安全成為了亟待解決的問題。由于REST是基于HTTP的,而REST服務(wù)有跟標準的Web應(yīng)用一樣的容易受攻擊的傾向,并且REST沒有預(yù)定義的安全方法,必須依靠開發(fā)人員定義自己的安全方法來維護資源調(diào)用。

【發(fā)明內(nèi)容】

[0004]本發(fā)明需要解決的技術(shù)問題是提供一種調(diào)用REST API的方法、系統(tǒng)及客戶端,保證調(diào)用REST API的安全性,防止在調(diào)用REST APT時受到攻擊。
[0005]為了解決上述技術(shù)問題,本發(fā)明提供了一種調(diào)用REST API的方法,應(yīng)用于客戶端,包括:
[0006]客戶端通過基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)對請求調(diào)用表述性狀態(tài)轉(zhuǎn)移應(yīng)用程序接口 REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值;
[0007]根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;
[0008]將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述REST API。
[0009]進一步地,所述根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰,包括:
[0010]按照預(yù)定的格式將請求調(diào)用所述REST API所需的參數(shù)依次拼接,在拼接好的字符串末尾加上所述REST API應(yīng)用的私鑰,然后加上所述授權(quán)Key值,最后將這段字符串進行md5加密,生成最終的密鑰。
[0011]進一步地,所述方法還包括:
[0012]在調(diào)用所述REST API成功后,收到所述應(yīng)用服務(wù)器返回的調(diào)用數(shù)據(jù)。
[0013]進一步地,所述方法還包括:[0014]如果收到所述應(yīng)用服務(wù)器返回的API調(diào)用失敗的結(jié)果,則所述客戶端提示用戶本次API調(diào)用失敗的原因,等待用戶的指示,并根據(jù)用戶的指示,執(zhí)行相應(yīng)的操作。
[0015]為了解決上述技術(shù)問題,本發(fā)明還提供了一種客戶端,包括:
[0016]認證模塊,用于通過基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)對請求調(diào)用表述性狀態(tài)轉(zhuǎn)移應(yīng)用程序編程接口 REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值,并將所述授權(quán)Key值發(fā)送至加密模塊;
[0017]加密模塊,用于根據(jù)請求調(diào)用所述RESTAPI所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;
[0018]發(fā)送模塊,用于將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述REST API。
[0019]進一步地,所述加密模塊,用于根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述RESTAPI應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰,包括:
[0020]按照預(yù)定的格式將請求調(diào)用所述REST API所需的參數(shù)依次拼接,在拼接好的字符串末尾加上所述REST API應(yīng)用的私鑰,然后加上所述授權(quán)Key值,最后將這段字符串進行md5加密,生成最終的密鑰。
[0021]進一步地,所述客戶端還包括:
[0022]接收模塊,用于在調(diào)用所述REST API成功后,接收所述應(yīng)用服務(wù)器返回的調(diào)用數(shù)據(jù)。
[0023]進一步地,所述客戶端還包括:異常處理模塊;其中:
[0024]接收模塊,還用于接收所述應(yīng)用服務(wù)器返回的API調(diào)用失敗的結(jié)果;并將所述API調(diào)用失敗的結(jié)果通知給所述異常處理模塊;
[0025]所述異常處理模塊,用于提示用戶本次API調(diào)用失敗的原因,等待用戶的指示,并根據(jù)用戶的指示,執(zhí)行相應(yīng)的操作。
[0026]為了解決上述技術(shù)問題,本發(fā)明還提供了一種REST API的系統(tǒng),包括:基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)、應(yīng)用服務(wù)器以及如上所述的客戶端,其中:
[0027]所述客戶端,用于向基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)發(fā)送對用戶權(quán)限認證的請求,通過所述RBAC認證授權(quán)系統(tǒng)對請求調(diào)用表述性狀態(tài)轉(zhuǎn)移應(yīng)用程序編程接口REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值,并根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述API ;
[0028]所述RBAC認證授權(quán)系統(tǒng),用于在收到所述客戶端對用戶權(quán)限認證的請求后,對所述用戶進行權(quán)限認證,并在通過認證后,向所述客戶端返回授權(quán)Key值;
[0029]所述應(yīng)用服務(wù)器,用于接收所述客戶端發(fā)送的調(diào)用所述REST API的請求,并在調(diào)用成功后向所述客戶端返回調(diào)用數(shù)據(jù)。
[0030]與現(xiàn)有技術(shù)相比,本發(fā)明提供的調(diào)用REST API的方法、客戶端及系統(tǒng),通過基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)限制非法用戶調(diào)用REST API,對通過授權(quán)的用戶的調(diào)用請求進行加密操作,從而保證了調(diào)用REST API的安全性,防止在調(diào)用REST APT時受到攻擊?!緦@綀D】

【附圖說明】
[0031]圖1是實施例中調(diào)用RESTAPI的系統(tǒng)結(jié)構(gòu)圖;
[0032]圖2是實施例中客戶端的結(jié)構(gòu)圖;
[0033]圖3是實施例中調(diào)用RESTAPI的方法流程圖。
【具體實施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0035]實施例:
[0036]如圖1所示,本實施例提供了調(diào)用REST API的系統(tǒng),包括:RBAC (Role-BasedAccess Control,基于角色的訪問控制)認證授權(quán)系統(tǒng)、應(yīng)用服務(wù)器以及用于REST API的客戶端,其中:
[0037]所述客戶端,用于向RBAC認證授權(quán)系統(tǒng)發(fā)送對用戶權(quán)限認證的請求,通過所述RBAC認證授權(quán)系統(tǒng)對請求調(diào)用REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值,并根據(jù)請求調(diào)用所述API所需的參數(shù)、所述API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;將所述密鑰攜帶在表述性狀態(tài)轉(zhuǎn)移API調(diào)用請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述API ;
[0038]所述RBAC認證授權(quán)系統(tǒng),用于在收到所述客戶端對用戶權(quán)限認證的請求后,對所述用戶進行權(quán)限認證,并在通過認證后,向所述客戶端返回授權(quán)Key值;
[0039]一個用戶擁有若干角色,一個角色擁有若干權(quán)限,RBAC通過角色與權(quán)限的關(guān)聯(lián),驗證該用戶(角色)是否對指定的資源有指定的操作權(quán)限。
[0040]所述應(yīng)用服務(wù)器,用于接收所述客戶端發(fā)送的表述性狀態(tài)轉(zhuǎn)移API調(diào)用請求,并在調(diào)用成功后向所述客戶端返回調(diào)用數(shù)據(jù)。
[0041]其中,如圖2所示,所述客戶端包括:認證模塊、加密模塊和發(fā)送模塊,其中:
[0042]認證模塊,用于通過基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)對請求調(diào)用RESTAPI的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值,并將所述授權(quán)Key值發(fā)送至加密模塊;
[0043]加密模塊,用于根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;
[0044]對于不同的REST API,在調(diào)用時需要不同的參數(shù),從請求內(nèi)容里獲取所要傳遞的參數(shù),以刪除一條數(shù)據(jù)的API為例,參數(shù)就包括這條數(shù)據(jù)的唯一標識,刪除執(zhí)行者的用戶標識,執(zhí)行刪除的時間等。
[0045]作為一種優(yōu)選的方式,REST API應(yīng)用的私鑰就是指調(diào)用的REST API名稱,預(yù)訂的私鑰是服務(wù)器端規(guī)定好的。
[0046]其中,所述加密模塊,用于根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰,具體包括:
[0047]按照預(yù)定的格式將所述請求調(diào)用所述RESTAPI所需的參數(shù)依次拼接,在拼接好的字符串末尾追加上REST API應(yīng)用的私鑰,然后加上所述授權(quán)Key值,最后將這段字符串進行md5加密,生成最終的密鑰。
[0048]發(fā)送模塊,用于將所述密鑰攜帶在調(diào)用RESTAPI的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述REST API。
[0049]此外,所述客戶端還包括:接收模塊,用于在調(diào)用所述API成功后,接收所述應(yīng)用服務(wù)器返回的調(diào)用數(shù)據(jù)。
[0050]此外,所述客戶端還包括:異常處理模塊;其中:
[0051]接收模塊,還用于接收所述應(yīng)用服務(wù)器返回的API調(diào)用失敗的結(jié)果;并將所述API調(diào)用失敗的結(jié)果通知給所述異常處理模塊;
[0052]所述異常處理模塊,用于提示用戶本次API調(diào)用失敗的原因,等待用戶的指示,并根據(jù)用戶的指示,執(zhí)行相應(yīng)的操作。
[0053]如圖3所示,本實施例提供了一種調(diào)用RESTAPI的方法,包括以下步驟:
[0054]SlOl:客戶端通過RBAC認證授權(quán)系統(tǒng)對請求調(diào)用REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值;
[0055]S102:根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;
[0056]其中,例如,首先得到用戶調(diào)用REST API請求需要的參數(shù)“keylialuel”、“ key2=value2”、“ key3=value3” ;
[0057]將上述格式化好的參數(shù)以字典序升序排列后,拼接在一起,即“keyl=valuelkey2=Value2key3=Value3”;在拼接好的字符串末尾追加上RESTAPI應(yīng)用的私鑰;最后在末尾加上授權(quán)成功后得到的key值;然后將這段字符串進行md5加密即得到最終的密鑰。
[0058]S103:將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述 REST API。
[0059]其中,客戶端通過HTTP協(xié)議發(fā)送調(diào)用REST API的請求,使用HTTP的標準方法與服務(wù)器端通信。
[0060]S104:在調(diào)用所述REST API成功后,收到所述應(yīng)用服務(wù)器返回的調(diào)用數(shù)據(jù)。
[0061]此外,在步驟S103之后,還包括:
[0062]如果收到所述應(yīng)用服務(wù)器返回的API調(diào)用失敗的結(jié)果,則所述客戶端提示用戶本次API調(diào)用失敗的原因,等待用戶的指示,并根據(jù)用戶的指示,執(zhí)行相應(yīng)的操作。
[0063]從上述實施例可以看出,相對于現(xiàn)有技術(shù),上述實施例中提供的調(diào)用REST API的方法、客戶端及系統(tǒng),通過RBAC認證授權(quán)系統(tǒng)限制非法用戶調(diào)用REST API,對通過授權(quán)的用戶的調(diào)用請求進行加密操作,從而保證了調(diào)用REST API的安全性,防止在調(diào)用REST APT時受到攻擊。
[0064]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0065]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并非用于限定本發(fā)明的保護范圍。根據(jù)本發(fā)明的
【發(fā)明內(nèi)容】
,還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種調(diào)用REST API的方法,應(yīng)用于客戶端,包括: 客戶端通過基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)對請求調(diào)用表述性狀態(tài)轉(zhuǎn)移應(yīng)用程序接口 REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值; 根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰; 將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述RESTAPI。
2.如權(quán)利要求1所述的方法,其特征在于: 所述根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰,包括: 按照預(yù)定的格式將請求調(diào)用所述REST API所需的參數(shù)依次拼接,在拼接好的字符串末尾加上所述REST API應(yīng)用的私鑰,然后加上所述授權(quán)Key值,最后將這段字符串進行md5加密,生成最終的密鑰。
3.如權(quán)利要求1所述的方法,其特征在于:所述方法還包括: 在調(diào)用所述REST API成 功后,收到所述應(yīng)用服務(wù)器返回的調(diào)用數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于:所述方法還包括: 如果收到所述應(yīng)用服務(wù)器返回的API調(diào)用失敗的結(jié)果,則所述客戶端提示用戶本次API調(diào)用失敗的原因,等待用戶的指示,并根據(jù)用戶的指示,執(zhí)行相應(yīng)的操作。
5.一種客戶端,包括: 認證模塊,用于通過基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)對請求調(diào)用表述性狀態(tài)轉(zhuǎn)移應(yīng)用程序編程接口 REST API的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值,并將所述授權(quán)Key值發(fā)送至加密模塊; 加密模塊,用于根據(jù)請求調(diào)用所述RESTAPI所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰; 發(fā)送模塊,用于將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述REST API。
6.如權(quán)利要求5所述的客戶端,其特征在于: 所述加密模塊,用于根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰,包括: 按照預(yù)定的格式將請求調(diào)用所述REST API所需的參數(shù)依次拼接,在拼接好的字符串末尾加上所述REST API應(yīng)用的私鑰,然后加上所述授權(quán)Key值,最后將這段字符串進行md5加密,生成最終的密鑰。
7.如權(quán)利要求5所述的客戶端,其特征在于:所述客戶端還包括: 接收模塊,用于在調(diào)用所述REST API成功后,接收所述應(yīng)用服務(wù)器返回的調(diào)用數(shù)據(jù)。
8.如權(quán)利要求7所述的客戶端,其特征在于:所述客戶端還包括:異常處理模塊;其中: 接收模塊,還用于接收所述應(yīng)用服務(wù)器返回的API調(diào)用失敗的結(jié)果;并將所述API調(diào)用失敗的結(jié)果通知給所述異常處理模塊;所述異常處理模塊,用于提示用戶本次API調(diào)用失敗的原因,等待用戶的指示,并根據(jù)用戶的指示,執(zhí)行相應(yīng)的操作。
9.一種REST API的系統(tǒng),包括:基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)、應(yīng)用服務(wù)器以及如權(quán)利要求5~8所述的客戶端,其中: 所述客戶端,用于向基于角色的訪問控制RBAC認證授權(quán)系統(tǒng)發(fā)送對用戶權(quán)限認證的請求,通過所述RBAC認證授權(quán)系統(tǒng)對請求調(diào)用表述性狀態(tài)轉(zhuǎn)移應(yīng)用程序編程接口 RESTAPI的用戶進行權(quán)限認證,在通過認證后,收到所述RBAC認證授權(quán)系統(tǒng)返回的授權(quán)Key值,并根據(jù)請求調(diào)用所述REST API所需的參數(shù)、所述REST API應(yīng)用的私鑰以及所述授權(quán)Key值按照預(yù)定的格式生成一個密鑰;將所述密鑰攜帶在調(diào)用所述REST API的請求中,發(fā)送至應(yīng)用服務(wù)器以調(diào)用所述API ; 所述RBAC認證授權(quán)系統(tǒng),用于在收到所述客戶端對用戶權(quán)限認證的請求后,對所述用戶進行權(quán)限認證,并在通過認證后,向所述客戶端返回授權(quán)Key值;所述應(yīng)用服務(wù)器,用于接收所述客戶端發(fā)送的調(diào)用所述REST API的請求,并在調(diào)用成功后向所述客戶端返回調(diào)用數(shù)據(jù)。
【文檔編號】G06F9/445GK103699824SQ201410014556
【公開日】2014年4月2日 申請日期:2014年1月13日 優(yōu)先權(quán)日:2014年1月13日
【發(fā)明者】王帥, 張培訓(xùn) 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1