我通过向包含我的凭据的api端点(https)发送POST请求来在Postman中进行身份验证。响应设置了两个cookie。
Set-Cookie →atlassian.xsrf.token=AGH6-ZEXS-8CED-D3BW|96bac852b72xxx42042593f13axxxxe7f3ff1d5f|lout;path=/;Secure
Set-Cookie →JSESSIONID=8C53xxx0xxxx46B4A5201A68C098604DF08;path=/;Secure;HttpOnly
我点击了Cookie' Cookie'邮递员中的按钮,看到这两个cookie被保存。当我现在向安全页面发送GET请求时,我会通过身份验证并收到预期的响应。
但是,我需要以编程方式执行此操作,因此我尝试使用与原始响应中相同的值为请求添加标头来手动设置Cookie。
Cookie: atlassian.xsrf.token=AGH6-ZEXS-8CED-D3BW|5xxxxxxxxba42582fb230ac7d7416e81204|lout;JSESSIONID=7AFxxxxxxxx27A461A01C193C57D
我也删除了Postman中保存的cookie。
现在,我的请求被重定向到登录屏幕,因为我显然没有通过身份验证。
我的第一次和第二次GET请求有什么区别?如何确保请求已正确验证?
答案 0 :(得分:1)
很抱歉迟到的回复。 在你的第一个GET中,邮递员会将JSESSIONID发送到你的服务器。您已经过身份验证,因此显然会接受请求。 但是对于第二个,您不提供JSESSIONID cookie,更重要的是您的JSESSIONID与活Http会话无关。