postman是進行開發測試的常用工具。
而在請求過程中,經常需要進行登入、加密鑑權。
通過postman自帶的pre-request script和tests功能,我們可以將過程**化,節約時間。
postman的pre-request script功能可以在請求前執行指令碼,進行鑑權的計算
通過環境變數和js指令碼功能,我們可以把計算好的sign引數加入請求中。
具體**如下(根據不同服務要求,引數組織形式、數量可能不一樣,但是原理相同。)
// secret and rand_time
let salt = "123456";
pm.environment.set("timestamp", (new date()).gettime().tostring());
let param = request.data; //post 引數
let queryparam = pm.request.url.query.members; //get中的引數
//將post和get合併,並且移除sign引數
for (let i in queryparam)
param[queryparam[i].key] = queryparam[i].value;
}//排序
param = objsort(param);
param["timestamp"] = pm.environment.get("timestamp");
str = "";
for (let i in param)
str = str.substr(0, str.length - 1);
var base64 = cryptojs.enc.base64.stringify(cryptojs.hmacsha1(str, salt));
//url safe encode
base64 = base64.replace("+", "-").replace("/", "_");
pm.environment.set("sign", base64);
//排序方法
當登入申請到token後,可以將token使用tests功能儲存到變數中。
後續使用變數傳遞。
**樣例如下:
if (responsecode.code == 200)
pm.environment.set("accesstoken", jsonresult.result.accesstoken)
pm.environment.set("refreshtoken", jsonresult.result.refreshtoken)
}
postman 安裝,配置,鑑權
雙擊點選.exe檔案,進行安裝 成功以後會在桌面產生響應的快捷鍵 雙擊開啟,第一次開啟的介面 postman的工作頁面 主要分為兩塊,工具欄和請求欄 工具欄 history 之前所有的用例 collection 可以新建用例,一鍵執行 請求欄中有四個比較常用重要 請求request的四要素 1 ur...
給REST介面做鑑權認證 OAuth
本地儲存使用者名稱和密碼肯定是不合適的。參考了 如何設計好的restful api之安全性這裡寫鏈結內容 重新學習了oauth 發現原來oauth2.0還有四種模式可選 授權碼模式 authorization code 簡化模式 resource owner 密碼模式 password creden...
Tornado做鑑權服務效能實踐
使用python的第三方jwt做鑑權服務,生產token def create token self,userid,product,level payload token jwt.encode payload,secretkey,algorithm hs256 return token mongod...