本帖最后由 御坂主机 于 2024-7-3 18:30 编辑
1. 简介
在使用Postman进行API测试时,经常需要在请求中携带动态Token以实现身份验证。动态Token通常由身份验证服务生成,并在每次请求时刷新。本文将介绍两种在Postman中设置请求携带动态Token的方法,帮助您高效进行API测试。
1.1 什么是动态Token
动态Token是一种短期有效的安全凭证,用于确保每次API请求的合法性。常见的动态Token包括JWT(JSON Web Token)和OAuth2.0 Token。这些Token通常在用户登录或认证时生成,并需在每次请求时附加在请求头中。
2. 方法一:使用Pre-request Script
Pre-request Script是Postman中的一个功能,允许在每次发送请求之前执行自定义的javaScript代码。我们可以利用这一功能,在每次发送请求前获取并设置动态Token。
2.1 获取Token的API请求
假设我们的认证服务提供了一个获取Token的API端点:
- POST https://api.example.com/auth/login
复制代码
请求体:
- {
- "username": "your_username",
- "password": "your_password"
- }
复制代码
2.2 在Pre-request Script中获取并设置Token
在目标请求的Pre-request Script中添加以下代码:
- const getTokenRequest = {
- url: 'https://api.example.com/auth/login',
- method: 'POST',
- header: {
- 'Content-Type': 'application/json'
- },
- body: {
- mode: 'raw',
- raw: JSON.stringify({
- username: 'your_username',
- password: 'your_password'
- })
- }
- };
- pm.sendRequest(getTokenRequest, (err, res) => {
- if (err) {
- console.log('Error fetching token:', err);
- } else {
- const token = res.json().token;
- pm.environment.set('authToken', token);
- }
- });
复制代码
这段代码首先构建了一个获取Token的请求,然后通过pm.sendRequest发送请求,并将返回的Token存储在Postman环境变量authToken中。
2.3 在请求头中使用Token
在目标请求的Headers中添加以下项:
- Key: Authorization
- Value: Bearer {{authToken}}
复制代码
这样,每次发送请求时,Postman会自动在请求头中附加最新的动态Token。
3. 方法二:使用环境变量和辅助请求
另一种方法是通过创建一个专门用于获取Token的辅助请求,然后将其存储在环境变量中,供其他请求使用。
3.1 创建辅助请求
创建一个新的请求用于获取Token:
- 请求类型:POST
- URL: https://api.example.com/auth/login
复制代码
请求体:
- {
- "username": "your_username",
- "password": "your_password"
- }
复制代码
3.2 设置Tests脚本
在辅助请求的Tests脚本中添加以下代码:
- const token = pm.response.json().token;
- pm.environment.set('authToken', token);
复制代码
这段代码在获取Token后,将其存储在Postman环境变量authToken中。
3.3 在目标请求中使用Token
在目标请求的Headers中添加以下项:
- Key: Authorization
- Value: Bearer {{authToken}}
复制代码
3.4 使用集合(Collection)运行
将辅助请求和目标请求添加到同一个集合中,并按照先后顺序排列。在运行集合时,Postman会先执行辅助请求获取Token,然后将Token应用于目标请求。
4. 总结
通过使用Pre-request Script或辅助请求与环境变量结合的方法,可以在Postman中实现请求携带动态Token。这两种方法都能有效地获取并设置Token,确保每次API请求的安全性和合法性。希望本文对您在Postman中进行API测试有所帮助。如果有任何疑问或建议,欢迎交流讨论。
------------------------------------------------------------------------------------------------------------------------------------------
======== 御 坂 主 机 ========
>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<
>> 推广/合作/找我玩 TG号 : @Misaka_Offical <<
-------------------------------------------------------------------------------------------------------------------------------------------
|