如何在 Postman 中使用 ASP.NET 表单认证

How to use ASP.NET forms authentication in Postman

我目前正在努力将一个 ASP.NET Web 表单网站迁移到一个 API,这样它就可以有一个 React 前端。

我将继续使用表单身份验证来开始此迁移,但想知道如何在 Postman 的登录表单 (/login.aspx) 上 POST,以便表单身份验证有效并让我登录,这样我就可以继续测试我写的 APIs。我正在使用标准 ASP.NET 网络表单登录控件。

我试过使用这种 (https://www.youtube.com/watch?v=B4ilccLUQVs) 方法,这似乎至少让我得到了我想我需要的 POST 数据,但似乎缺少了一些东西,因为我在 Postman 中被重定向到 login.aspx 并且对 API 的任何调用仍然要求进行身份验证。

我确实注意到它在按下登录按钮时在 onclick 事件处理程序中调用了一些名为 WebForm_DoPostBackWithOptions 的 javascript 方法,但我不确定如何在 Postman 中调用它。

如果有人已经这样做了,我很高兴收到你的来信!

您需要 Postman Interceptor 和 Interceptor Bridge 来捕获表单身份验证 cookie 以验证您的 Postman POST/GET 请求。您还可以使用拦截器捕获并保存您的 Google Chrome 浏览器 API 请求到 Postman 集合中。

从 Postman 社区复制和粘贴步骤:Source

要求

快速入门

运行 来自 OS 特定拦截器桥包的安装脚本。执行安装脚本后不要更改 com.postman.postmanapp.json 文件的位置。根据您的 OS,您可能需要双击或通过 shell 执行安装程序脚本。 MacOS/Windows 上的用户可能会看到安全警告。例如,要在 MacOS 上覆盖安全性,您可能需要右键单击 > 打开。

重新启动 Chrome(仅 Windows 需要)

将 Postman 拦截器扩展更新到 v0.2.26 或更高版本(chrome://extensions/ > 启用开发者模式 > 更新)。

更新 Postman 至 v7.2.1 或以上版本。

从右上角的图标打开捕获 cookie 叠加层。

“拦截​​器已连接”状态表示 Postman 能够与安装在浏览器中的拦截器扩展进行通信。

启用捕获 cookie 设置,并添加您要为其同步 cookie 的域。

补充:source