前提简介
定义接口时需要传入token校验调用者权限,传入sign校验数据。
token的生成办法是 账号 + 密码 + 时间戳 + 密钥,用SHA-256加密算法加密后取小写字符串。
sign的生成办法是 数据 + 密钥,用SHA-256加密算法加密后取小写字符串。
应用场景
在开发过程中,经常需要用到postman测试接口,如果每次手动生成token和sign,会十分麻烦,所以此时采用postman的编程自动生成token和sign会节省大量时间。
实战
header
Content-Type:application/json
account:test
timestamp:{{timestamp}}
token:{{token}}
sign:{{sign}}
body
{
"param1":"123"
}
Pre-request Script
var CryptoJS = require('crypto-js')
// 时间戳
var timestamp = Math.round(new Date().getTime());
postman.setEnvironmentVariable("timestamp", timestamp);
// token
var tokenStr = "test" + "test" + timestamp
+ "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3";
var token = CryptoJS.SHA256(tokenStr).toString(CryptoJS.enc.Hex).toLowerCase();
postman.setEnvironmentVariable("token", token);
// 通过request.data获取body的内容,这个是postman内置变量
var params = JSON.parse(request.data);
// sign
var signStr = params.param1 +
"a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3";
var sign = CryptoJS.SHA256(signStr).toString(CryptoJS.enc.Hex).toLowerCase();
postman.setEnvironmentVariable("sign", sign);