APP接口保護(hù)方案.doc

APP接口保護(hù)方案.doc

ID:56785389

大?。?3.00 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2020-07-11

APP接口保護(hù)方案.doc_第1頁(yè)
APP接口保護(hù)方案.doc_第2頁(yè)
APP接口保護(hù)方案.doc_第3頁(yè)
APP接口保護(hù)方案.doc_第4頁(yè)
APP接口保護(hù)方案.doc_第5頁(yè)
資源描述:

《APP接口保護(hù)方案.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、APP接口保護(hù)文檔2015-07-27Jason1.問(wèn)題對(duì)于后臺(tái)來(lái)說(shuō),調(diào)用URL時(shí)都會(huì)判斷session是否合法,所以即使別人知道后臺(tái)URL也無(wú)法調(diào)用。但是為移動(dòng)端提供webservice接口就不一樣了。對(duì)移動(dòng)端提供的接口都是RESTful風(fēng)格的無(wú)狀態(tài)接口,沒(méi)有傳統(tǒng)URL的session概念。如果只是在登錄時(shí)做身份驗(yàn)證的話(huà),相當(dāng)于調(diào)用接口的權(quán)限由App控制。而在網(wǎng)絡(luò)上,所有接口都對(duì)外暴露,任何人只要知道URL了就能調(diào)用,試探,甚至通過(guò)接口修改數(shù)據(jù)庫(kù)。如下圖:所以在業(yè)務(wù)處理之前,登錄之前,都需要驗(yàn)證請(qǐng)求是否由合法客戶(hù)端發(fā)出。2.全局私鑰APP_KEY首先,后臺(tái)和App端,共同

2、內(nèi)置一個(gè)全局私鑰APP_KEY,用于生成簽名,服務(wù)器收到接口請(qǐng)求時(shí),先驗(yàn)證簽名是否合法,再處理業(yè)務(wù)。3.登錄3.1過(guò)程說(shuō)明3.1.1移動(dòng)端和后臺(tái)內(nèi)置APP_KEY在app和后臺(tái),內(nèi)置相同的APP_KEY。3.1.2移動(dòng)端調(diào)用申LOGIN_TOKEN申請(qǐng)接口登錄界面,用戶(hù)輸入用戶(hù)名后,請(qǐng)求接口,申請(qǐng)LOGIN_TOKEN。3.1.3后臺(tái)生成并返回LOGIN_TOKEN后臺(tái)接收到LOGIN_TOKEN請(qǐng)求時(shí),先查詢(xún)用戶(hù)名是否存在。如果存在,則查詢(xún)?cè)撚脩?hù)頭像,并為該用戶(hù)生成LOGIN_TOKEN,返回給移動(dòng)端。TOKEN使用一次后將失效。3.1.4移動(dòng)端顯示頭像,保存LOGIN_

3、TOKEN登錄界面,接收到后臺(tái)返回后,移動(dòng)端顯示用戶(hù)頭像,并保存LOGIN_TOKEN。等待用戶(hù)輸入密碼。3.1.5移動(dòng)端密碼加密登錄界面,用戶(hù)輸入密碼,點(diǎn)擊登錄按鈕后,將密碼加密。加密過(guò)程是:A將參數(shù)APP_KEY,LOGIN_TOKEN,PASSWORD(用戶(hù)密碼)按字母排序,參數(shù)中間用&符號(hào)連接。如APP_KEY=123&LOGIN_TOKEN=456&PASSWORD=789:B將排序之后的字符串用MD5加密,形成密碼密文。C銷(xiāo)毀本地的LOGIN_TOKEN。3.1.6移動(dòng)端調(diào)用登錄接口將用戶(hù)賬號(hào)和密碼密文做為參數(shù),調(diào)用登錄接口。3.1.7后臺(tái)登錄驗(yàn)證后臺(tái)接收到登錄

4、請(qǐng)求后,先查詢(xún)用戶(hù)名對(duì)應(yīng)的LOGIN_TOKEN,并將此TOKEN設(shè)置為失效,然后按密碼加密邏輯生成密碼密文,用生成的密文跟接口參數(shù)里的密文對(duì)比,相同則登錄成功。3.1.8后臺(tái)生成API_TOKEN用戶(hù)登錄成功后,為該用戶(hù)生成API_TOKEN并返回。該TOKEN用于每次接口調(diào)用的身份驗(yàn)證,過(guò)期時(shí)間由后臺(tái)控制。3.1.9移動(dòng)端獲得登錄結(jié)果和API_TOKEN用戶(hù)登錄成功后,獲取并保存API_TOKEN。該TOKEN用于每次接口調(diào)用的身份驗(yàn)證,過(guò)期時(shí)間由后臺(tái)控制。4.接口簽名驗(yàn)證4.1過(guò)程說(shuō)明4.1.1移動(dòng)端生成簽名每次調(diào)用接口之前,都需要生成簽名。簽名生成規(guī)則如下:A將參數(shù)

5、APP_KEY,API_TOKEN,接口參數(shù)按首字母排序,參數(shù)中間用&符號(hào)連接。如API_TOKEN=456&APP_KEY=123&USERID=789:B將排序之后的字符串用MD5加密,形成用戶(hù)簽名。4.1.2移動(dòng)端調(diào)用接口將簽名,接口參數(shù),用戶(hù)名做為參數(shù),調(diào)用接口。4.1.3后臺(tái)驗(yàn)證簽名后臺(tái)接收到接口請(qǐng)求后,根據(jù)用戶(hù)名獲取PAI_TOKEN,然后按簽名規(guī)則生成簽名,并與接口參數(shù)簽名對(duì)比,如果對(duì)比相同,則執(zhí)行業(yè)務(wù)方法。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。