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上获取。