在 API 开发和测试领域,Postman 是一个强大的工具,能够简化工作流程和简化与 API 交互的能力。但是,某些功能(例如 OAuth 2.0 授权)依赖于回调 URL 的关键机制。
本文深入探讨了 Postman 回调 URL 的概念,解释了在身份验证过程中的作用以及如何为无缝 API 开发体验做出贡献。
回调 URL 是什么?
在 Web 应用程序和 API 领域,通信并不总是朝单一方向流动。通常,应用程序或服务在完成由另一个系统启动的任务或操作后需要发回信息。
这就是回调 URL(callback URL) 发挥作用的地方,充当指定的返回地址,指定可以发送响应或更新的特定 Web 位置。
回调 URL 如何实现?
步骤一:前期准备
我们需要用 Web 应用程序上传一个大型视频文件进行处理。应用程序向包含视频数据和指令的服务器发送请求。
步骤二:处理等待
处理视频可能需要大量时间。服务器不能简单地保持连接打开,等待应用程序检查完成。
步骤三:指定回调 URL
这就是回调 URL 的用武之地。作为用户,在应用程序中向服务器提供特定的 Web 地址(回调 URL),告诉服务器处理完成后向何处发送通知。
步骤四:发送响应
处理完成后,服务器会将包含结果信息(例如成功或失败、处理详细信息)的响应发送到应用程序中预定义的回调 URL。
步骤五:接收通知
应用程序不需要不断检查更新,会自动在指定的回调 URL 处接收通知,以便了解完成情况和任何相关详细信息。
Postman 如何回调 URL
Postman 利用回调 URL 来简化 OAuth 2.0 授权的流程,OAuth 2.0 授权是一种广泛使用的授予 API 访问权限的标准。
什么是 OAuth 2.0?
OAuth 2.0 是一种授权框架,允许用户将其在一个平台(例如 Google)上的帐户的访问权限授予另一个应用程序(例如自定义应用程序),而无需直接共享其密码,确保应用程序以安全且受控的方式访问用户数据。
回调 URL 在 OAuth 2.0 中的作用
OAuth 2.0 授权流程通常涉及几个步骤:
- 用户授权:应用程序将用户重定向到授权服务器(例如,Google 登录页面)。
- 授予权限:用户登录并授予应用程序访问特定数据的权限。
- 授权码:授权服务器向应用程序预先配置的回调URL返回授权码。
在 Postman 中使用回调 URL 的好处
- 更方便:Postman 在内部处理整个授权流程,无需在 Postman 外部进行复杂的重定向和用户交互。
- 更高效:流程变得更快、更精简,能够快速获取用于测试 API 调用的访问令牌。
- 更灵活:可以通过修改回调 URL 或在 Postman 中使用不同的 OAuth 提供程序来轻松测试不同的授权场景。
Postman 回调 URL 流程
指定回调 URL
在 Postman 中,可以为应用程序配置所需的回调 URL,可以是 Postman 特有的本地地址(由 Postman 本身提供),也可以是实际应用程序的可公开访问的 URL。
拦截代码
当授权服务器使用授权代码将用户重定向回来时,Postman(而不是实际应用程序)会在定义的回调 URL(本地或公共,具体取决于设置)处接收代码。
请求令牌(无需重定向)
由于 Postman 会拦截代码,因此不需要将用户重定向到单独的应用程序,直接使用此代码向授权服务器请求最终访问令牌,该令牌用于与 API 交互。
如何在 Postman 中设置 OAuth 2.0 授权的回调 URL?
步骤一:访问授权设置
打开 Postman 后,导航到所需的 Collection 或请求,然后单击“Authorization”选项。
![Postman 中设置 OAuth 2.0 授权的回调 URL](https://apifox.com/apiskills/content/images/2024/07/image-42.png)
步骤二:选择身份验证类型为 OAuth 2.0
在“Auth Type”中,选择 OAuth 2.0
,右侧将出现更多要修改的字段。
![身份验证类型为 OAuth 2.0](https://apifox.com/apiskills/content/images/2024/07/image-43.png)
步骤三:指定回调 URL
向下滚动直到找到回调 URL 部分(Callback URL)。你需要确保包含你的回调 URL。对于回调 URL,您有两个选项:
- 使用 Postman 的本地 URL(用于测试):如果仅在 Postman 中进行测试,一个方便的选择是使用 Postman 提供的本地 URL。此 URL 通常以
https://app.getpostman.com/oauth2/callback
开头。这种方法将所有内容保留在 Postman 中,从而简化了测试过程。 - 使用应用程序的公共 URL(用于类似生产的测试):如果想模拟更真实的场景,可以配置应用程序的实际公共回调 URL。但是,此 URL 需要在你使用的授权服务器(例如 Google、Facebook)中注册。
![指定回调 URL](https://apifox.com/apiskills/content/images/2024/07/image-44.png)
步骤四:保存对 API 的更改
最后,完成所有更改后,请务必保存!
![Postman 回调 URL 流程](https://apifox.com/apiskills/content/images/2024/07/image-45.png)
使用 Apifox 简化 API 开发
如果你是开发人员,如果你在寻求 API 开发环境的改变,那么你可以使用 Apifox,一个功能强大的 Postman 替代品,提供适用于整个 API 生命周期的完整功能。
![Apifox 简化 API 开发](https://apifox.com/apiskills/content/images/2024/07/image-47.png)
使用 Apifox OAuth 2.0 身份验证
在 Apifox 上,我们同样可以轻松地执行相同的操作,甚至用户界面更简单优雅。在我们想要修改的 API 或请求中选择 Auth
标头。默认身份验证类型为 Inherit from Parent
,我们需要选择 OAuth 2.0
。
![Apifox OAuth 2.0 身份验证](https://apifox.com/apiskills/content/images/2024/07/image-48.png)
在 Apifox 中指定回调 URL
选择 OAuth 2.0 身份验证类型后,可以向下滚动并指定其他详细信息,包括回调 URL。
![在 Apifox 中指定回调 URL](https://apifox.com/apiskills/content/images/2024/07/image-49.png)
将 API 导入 Apifox 进行修改
将 API 导入到 Apifox 中,迈出完善 API 的第一步。Apifox 支持各种 API 文件类型,包括 OpenAPI(或 Swagger)、Postman。
在左侧功能栏中的“项目设置”部分,然后找到“数据管理”下的“导入数据”按钮。Apifox 支持 20+ 数据格式,我们可以将文件拖放到 Apifox 中即可。
![将 API 导入 Apifox 进行修改](https://apifox.com/apiskills/content/images/2024/07/image-50.png)
在Apifox中添加自定义脚本
完成 API 导入或在 Apifox 上创建新项目后,可以继续添加脚本。
在“修改文档”中,找到 “前置脚本”。选择添加自定义脚本,可以在此处为 API 请求实施自定义脚本,还可以选择代码空间右侧的“代码片段”选项。
![在Apifox中添加自定义脚本](https://apifox.com/apiskills/content/images/2024/07/image-51.png)
总结
Postman 回调 URL 在简化开发和测试过程中的 OAuth 2.0 授权工作流程方面发挥着至关重要的作用。通过指定回调 URL,无需复杂的重定向和外部应用程序交互。Postman 无缝拦截授权代码并检索访问令牌,能够更高效地专注于测试 API 调用。