2

我有一条使用由另一条路线设置的身份验证 cookie 的路线。我这样创建它: cookie 认证路由

此方法在新版本中不再有效。Paw 抱怨 Authenticate 请求的响应中没有 set-cookie 标头。

这似乎是因为 Paw 现在采用 cookie 并以与其他标头不同的方式处理它们。我喜欢这种方法,因为它应该使这种身份验证更容易,但不幸的是,它并没有像我预期的那样工作。

以下是我配置较新请求的方式: 使用 cookie jar 配置的 cookie 认证请求

因此,我将 cookie 标头设置为Response Cookies动态值,我相信它应该传递之前设置的 cookie。我想我应该从下拉列表中选择 Authenticate 请求(因为它是来自此请求的响应实际设置了 cookie,但是如果我这样做,cookie 值就会消失。相反,我留下了请求值,Current Request因为它似乎包含正确的值。

我还注意到Automatically send cookies我认为可能是一个简单的解决方案的设置。我从我的请求中删除了手动 cookie 标头,将其选中,希望它可以自动从 cookie jar 中随请求一起发送任何 cookie,但这似乎也不起作用。无论我尝试什么,由于身份验证,我的请求都无法产生预期的结果。

自动发送cookies设置

您能帮我了解如何配置这些请求,以便我可以继续使用 Paw 测试经过会话验证的路由吗?

4

2 回答 2

2

这里有几件事可以让您了解 cookie 在 Paw 中的工作原理(从 2.1 版开始):

1. Cookies存储在罐子里

为了让用户保持多个同步会话,cookie 存储在 jar 中,因此您可以轻松地在会话(jar)之间切换。

只有当它们匹配请求(主机名、路径、安全等)时,才会发送存储在 jar 中的 Cookie 。

2. jar 中的 cookie 默认发送,除非Cookieheader 被覆盖

如果您Cookie手动设置标题,则不会发送存储在 jar 中的 cookie。显然,除非禁用自动发送 Cookie 。

3. 以前使用“响应标头”是 hacky。使用响应 Cookie

事实上,Set-Cookie(对于响应)和Cookie(对于请求)有不同的语法。所以你不能发回的原始值Set-Cookie(即使它似乎在大多数情况下都有效)。

您提到的新的Response Cookies动态值有这个目的:发回由特定请求设置的 cookie。

现在,在您的情况下,我会一直使用Response Cookies动态值。由于您只有 1 个请求进行身份验证/cookie 设置,因此它可能是最容易处理的。此外,也许检查忽略域、路径、是否安全和日期以确保即使您切换主机(或其他东西)也始终发送您的 cookie。

从 Paw 中的特定请求发送 cookie

于 2014-12-17T09:28:49.170 回答
1

删除 cookie jar 中的 cookie 并再次点击身份验证端点似乎已经解决了这个问题。不知道为什么,但它现在似乎可以手动发送cookie或使用Automatically send cookies设置。

于 2014-12-16T15:49:57.037 回答