postman鉴权签名
时间: 2025-01-08 08:45:50 浏览: 15
### 如何在 Postman 中设置和使用鉴权签名
#### 设置环境变量
为了方便管理 `appid`、`secret` 和其他必要的参数,在 Postman 的环境中定义这些变量是一个好的实践。点击右上角的眼睛图标,选择编辑当前环境或创建新环境来添加如下变量:
| Key | Value |
|-----------|----------------|
| appid | your_app_id |
| secret | your_secret_key|
此表仅作为示例[^1]。
#### 创建预请求脚本
对于每次请求前动态生成签名的情况,可以在 Pre-request Script 部分编写 JavaScript 来计算签名。下面是一段用于生成 HMAC SHA256 签名的代码片段:
```javascript
// 获取环境变量
const appid = pm.environment.get('appid');
const secret = pm.environment.get('secret');
// 构建待签名字符串
let stringToSign = 'GET\n/endpoint\n';
stringToSign += JSON.stringify(pm.request.body.raw);
// 使用CryptoJS库进行HMAC-SHA256加密
pm.variables.set("signature", CryptoJS.HmacSHA256(stringToSign, secret).toString(CryptoJS.enc.Base64));
```
这段脚本假设 POST 请求体是以 raw 形式的 JSON 数据传递给 API 服务端。
#### 添加自定义头部信息
转到 Headers 标签页并向请求头中加入新的字段以携带签名和其他必要参数:
- **Key**: `AppId`, **Value**: {{appid}}
- **Key**: `Nonce`, **Value**: 可以为随机数或者递增序列号
- **Key**: `Timestamp`, **Value**: 当前 Unix 时间戳
- **Key**: `Signature`, **Value**: {{signature}}
以上配置确保了每一次 HTTP 请求都包含了正确的鉴权信息。
#### 测试接口调用
完成上述步骤后即可向目标 URL 发送 GET 或者 POST 请求,并观察响应情况。如果一切正常,应该能够成功接收到预期的数据;如果有误,则需检查日志输出排查错误原因。
阅读全文