在现代软件开发中,Web API 扮演着至关重要的角色,它们允许不同系统之间进行数据交换和通信。然而,许多 API 为了保护敏感数据和资源,要求客户端进行身份验证。其中,Bearer Token 是一种常见的身份验证令牌,它允许客户端访问受保护的 API 资源。本文将介绍如何在 Postman 中设置 Bearer Token,以便于访问受保护的 API。
1.准备工作
在进行操作之前,需要进行以下准备工作:
- 下载和安装 Postman 应用程序,确保版本是最新的。
- 如果尚未注册,请注册并登录到你的 Postman 账户。
- 准备一个需要访问的受保护 API,并确保你已经获得了相应的访问令牌。
2.在 Postman 中设置 Bearer Token
2.1 在 Postman 中创建一个请求
启动 Postman 应用程序,并确保你已登录到你的账户,点击界面左上角的 "New" 按钮,创建一个新的请求。

2.2 添加 Authorization 标头
在请求的 Headers 部分中,找到 "Authorization" 标头,并点击右侧的下拉菜单,选择 "Bearer Token" 作为授权类型。

2.3 输入 Bearer Token
在 "Bearer Token" 字段中,输入你的 Bearer Token,确保输入准确,你可以将后端返回的 Token 凭证存储在环境变量中,然后通过变量{{}}
的方式来引用。

例如后端返回如下的 JSON 数据结构:
{
"code": "0",
"message": "success",
"data": {
"accessToken": "wueigh982gu09fdiogh98ut934w0u24u98ugwr0w942hbj0wposdjvb09g3rugj029wrobnv-wpekdvd093yu8340w9-ig9h294-2gho2jwe0gjr90gjwrpvogiojdfg",
"userId": "10f8h983hg9uhrsoigidigos"
}
}
你可以在 Postman 的 Tests 中编写脚本,将返回的 accessToken 值提取到环境变量中,然后在 Authorization 中通过引用变量来进行赋值,脚本参考如下:
var body = pm.response.json();
var token = body.data.accessToken;
console.log("token:" + token);
pm.environment.set("token", token);

提取到环境变量中的 token:

当然,我们一般情况下不在接口中配置 token 凭证,通常会在集合中,这样这个集合下的所有接口在发起请求时,都会自动携带所配置的 token 凭证。

3. 发送请求
一旦 Bearer Token 被正确设置,你可以添加任何其他请求参数(如果有),然后点击界面右上方的 "Send" 按钮来执行你的请求。发送成功后,你可以在下方的控制台看看有没有这个 Bearer Token。

4. 注意事项和建议
在使用 Bearer Token 进行 API 访问时,请注意以下事项:
- 安全性:确保不要将 Bearer Token 泄露给未经授权的人员。
- 令牌管理:合理地管理和存储你的访问令牌,以确保安全性。
- 错误处理:处理可能出现的身份验证错误或令牌过期等情况。
比 Postman 更好用的工具:Apifox
在 Apifox 中设置 Bearer Token,或者进行一些数据的提取或者断言的时候,可以通过可视化的方式来操作,省去了编写脚本的麻烦。比如你要提取接口返回的 Token 凭证到环境变量,可以在【后置操作】中选择【提取变量】。

然后通过 JSONPath 表达式来提取,不需要再编写什么 JavaScript 脚本了。例如这个接口返回的响应示例:
{
"code": "0",
"message": "success",
"data": {
"accessToken": "wueigh982gu09fdiogh98ut934w0u24u98ugwr0w942hbj0wposdjvb09g3rugj029wrobnv-wpekdvd093yu8340w9-ig9h294-2gho2jwe0gjr90gjwrpvogiojdfg",
"userId": "10f8h983hg9uhrsoigidigos"
}
}
如果要提取 accessToken,通过 JSONPath 表达式提取就是$.data.accessToken
。

如果要将 accessToken 作用于整个项目中,也就是项目中的所有接口在发起请求的时候都携带上这个 token 凭证,你可以在【根目录】中,选择 Auth,然后通过变量的方式引用即可。

设置完毕后发送请求,你会看到在“实际请求”中携带了这个 token 凭证。是不是非常方便,快去试试吧!

总结
本文详细介绍了如何在 Postman 中设置 Bearer Token,正确地设置 Bearer Token 是访问受保护 API 的关键步骤,而 Postman 提供了一个便捷的界面来执行这一操作。你可以尝试并实践上面的知识,以便在日常开发中更有效地使用 Postman 和 Bearer Token 进行 API 访问。

知识扩展: