找回密码
 立即注册
查看: 407|回复: 0

[其它] 两种方法教你在postman设置请求里带动态token

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-7-2 12:53:28 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 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端点:

  1. POST https://api.example.com/auth/login
复制代码


请求体:
  1. {
  2.     "username": "your_username",
  3.     "password": "your_password"
  4. }
复制代码


2.2 在Pre-request Script中获取并设置Token

在目标请求的Pre-request Script中添加以下代码:

  1. const getTokenRequest = {
  2.     url: 'https://api.example.com/auth/login',
  3.     method: 'POST',
  4.     header: {
  5.         'Content-Type': 'application/json'
  6.     },
  7.     body: {
  8.         mode: 'raw',
  9.         raw: JSON.stringify({
  10.             username: 'your_username',
  11.             password: 'your_password'
  12.         })
  13.     }
  14. };

  15. pm.sendRequest(getTokenRequest, (err, res) => {
  16.     if (err) {
  17.         console.log('Error fetching token:', err);
  18.     } else {
  19.         const token = res.json().token;
  20.         pm.environment.set('authToken', token);
  21.     }
  22. });
复制代码


这段代码首先构建了一个获取Token的请求,然后通过pm.sendRequest发送请求,并将返回的Token存储在Postman环境变量authToken中。

2.3 在请求头中使用Token

在目标请求的Headers中添加以下项:

  1. Key: Authorization
  2. Value: Bearer {{authToken}}
复制代码


这样,每次发送请求时,Postman会自动在请求头中附加最新的动态Token。

3. 方法二:使用环境变量和辅助请求

另一种方法是通过创建一个专门用于获取Token的辅助请求,然后将其存储在环境变量中,供其他请求使用。

3.1 创建辅助请求

创建一个新的请求用于获取Token:

  1. 请求类型:POST
  2. URL: https://api.example.com/auth/login
复制代码


请求体:
  1. {
  2.     "username": "your_username",
  3.     "password": "your_password"
  4. }
复制代码


3.2 设置Tests脚本

在辅助请求的Tests脚本中添加以下代码:

  1. const token = pm.response.json().token;
  2. pm.environment.set('authToken', token);
复制代码


这段代码在获取Token后,将其存储在Postman环境变量authToken中。

3.3 在目标请求中使用Token

在目标请求的Headers中添加以下项:

  1. Key: Authorization
  2. Value: Bearer {{authToken}}
复制代码


3.4 使用集合(Collection)运行

将辅助请求和目标请求添加到同一个集合中,并按照先后顺序排列。在运行集合时,Postman会先执行辅助请求获取Token,然后将Token应用于目标请求。

4. 总结

通过使用Pre-request Script或辅助请求与环境变量结合的方法,可以在Postman中实现请求携带动态Token。这两种方法都能有效地获取并设置Token,确保每次API请求的安全性和合法性。希望本文对您在Postman中进行API测试有所帮助。如果有任何疑问或建议,欢迎交流讨论。







------------------------------------------------------------------------------------------------------------------------------------------

========  御 坂 主 机  ========

>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<

>> 推广/合作/找我玩  TG号 : @Misaka_Offical <<

-------------------------------------------------------------------------------------------------------------------------------------------


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-4 13:36 , Processed in 0.061989 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表