1. 概述

在这个教程中,我们将学习如何使用Postman 对基于基本身份验证保护的端点进行测试。

我们将了解如何使用“授权”标签根据原始凭据生成头信息。之后,我们将手动学习如何操作。最后,我们将探讨Postman拦截器的工作原理以及它在哪些情况下会派上用场。

2. 基本身份验证

基本身份验证是一种通过特殊头信息来保护HTTP请求的安全方法:

Authorization: Basic <credentials>

为了生成凭据令牌,我们需要将用户名和密码用分号字符连接起来,然后使用Base64对结果字符串进行编码。

假设用户名是“admin”,密码是“baeldung”。首先,我们将创建包含“admin:baeldung”的凭据字符串,然后用Base64对其进行编码,并添加“Basic”关键字作为头信息的值:

Authorization: Basic YWRtaW46YmFlbGR1bmc=

3. 授权标签

首先,我们向一个受基本身份验证保护的端点发送GET请求,并期望响应状态为“未授权”:

现在,我们添加凭据。为此,我们只需转到“授权”标签,选择“基本认证”作为授权类型。接着,输入用户名和密码,即可完成设置:

可以看到,请求已授权,响应代码变为200。此外,点击“code”链接,我们可以看到授权头已被添加到请求中:

GET /postman-test HTTP/1.1
Host: localhost:8080
Authorization: Basic YWRtaW46YmFlbGR1bmc=
Cache-Control: no-cache
Postman-Token: 6ad07f7c-4846-9c3f-2a3e-b24e8d2273ad

4. 手动添加头信息

Postman允许我们手动添加头信息。因此,如果我们已经有了凭据令牌,可以直接添加授权头

我们可以在“头信息”标签中实现这一点。首先设置“Authorization”为键,然后添加凭据令牌:

检查HTTP请求,我们会发现与之前的请求没有区别。

5. Postman拦截器

Postman拦截器是一个Chrome扩展,它允许我们将Postman应用绑定到浏览器会话。换句话说,它允许我们在浏览器已登录的用户权限下执行Postman请求。

首先,我们需要下载并安装Chrome扩展。然后,在Postman应用中启用拦截器,点击卫星图标:

现在,Postman应用已与浏览器会话绑定。如果我们浏览网页,可以在Postman的“历史记录”标签页中看到所有请求。然而,如果我们现在尝试执行GET请求,仍然会收到“401未经授权”的响应,因为我们还没有登录。

让我们使用浏览器导航到受基本身份验证保护的页面:

登录后,回到Postman再次执行请求。这次,请求将被授权。

6. 总结

在这篇文章中,我们学习了基本身份验证的工作原理,并探索了使用Postman测试受保护端点的各种方法。

我们了解了如何手动添加“Authorization”头,以及如何使用Postman根据原始凭据自动生成它。最后,我们了解了Postman拦截器,知道它可以代表浏览器已登录的用户发送请求。

如往常一样,源代码和Postman集合可在GitHub上获取。