我的路由使用另一条路由设置的身份验证Cookie。我创建它是这样的:
此方法在新版本中不再有效。 Paw抱怨来自Authenticate请求的响应中没有set-cookie标头。
这似乎是因为Paw现在采用cookie并以不同于其他标头的方式处理它们。我喜欢这种方法,因为它应该使这种认证更容易,但不幸的是,它不像我期望的那样工作。
以下是我配置较新请求的方法:
所以,我已经将cookie标头设置为Response Cookies
动态值,我相信它应该传递之前设置的cookie。我认为我应该从下拉列表中选择Authenticate请求(因为它是来自此请求的实际设置cookie的响应,但是如果我这样做,cookie值就会消失。相反,我将请求值保留为Current Request
因为这似乎包含正确的值。
我也注意到Automatically send cookies
设置,我认为这可能是一个简单的解决方案。我从我的请求中删除了手动cookie标题,这样就检查了希望它可以自动发送来自cookie jar的任何cookie以及请求,但这似乎也不起作用。无论我尝试什么,我的请求都无法通过身份验证产生预期的结果。
您能帮助我了解如何配置这些请求,以便我可以继续使用Paw来测试经过会话验证的路由吗?
答案 0 :(得分:2)
以下是一些让您了解Cookie如何在Paw中工作的内容(从2.1版开始):
<强> 1。 Cookie存储在Jars中
为了允许用户保留多个同步会话,cookie存储在jar中,因此您可以轻松地在会话(jars)之间切换。
只有当匹配请求(主机名,路径,安全等)时,才会发送存储在jar中的Cookie。
<强> 2。默认情况下会发送来自jar的Cookie,除非Cookie
标题被覆盖
如果您手动设置Cookie
标题,则存储在广告系列中的Cookie不会被发送。
显然,除非自动发送Cookies 被禁用。
第3。先前使用&#34;响应标题&#34; 是hacky。使用响应Cookie 。
实际上,Set-Cookie
(对于响应)和Cookie
(对于请求)具有不同的语法。因此,您无法发送Set-Cookie
的原始值(即使它在大多数情况下似乎有效)。
您提到的新响应Cookie 动态值具有此目的:发送回特定请求设置的Cookie。
现在,在您的情况下,我会一直使用 Response Cookies 动态值。由于您只有1个请求进行身份验证/ cookie设置,因此它可能是最容易处理的。此外,可以选中忽略域名,路径,安全和日期,以确保即使您切换主机(或其他内容)也始终发送您的Cookie。
答案 1 :(得分:1)
删除cookie jar中的cookie并再次点击认证端点似乎解决了这个问题。不确定原因,但现在似乎正在手动发送cookie或使用Automatically send cookies
设置。