asp.net - postman 没有使用cookie

标签 asp.net google-chrome cookies postman

我在我的应用程序开发中使用 Postman 已经有一段时间了,从来没有遇到任何问题。我通常在调试 ASP.NET API 代码时将它与 Google Chrome 一起使用。

大约一个月前,我开始遇到问题, postman 似乎没有发送我的网站发布的 cookie。

通过 Fiddler,我检查了我对 API 的调用,发现 Postman 没有发送由我的 API 应用程序发出的 cookie。它正在发送其他 cookie,但不是它应该发送的那个——见下文:

enter image description here

在“Cookies”下,我确实看到了我发布的 cookie,即 .AspNetCore.mysite_cookie - 见下文:

enter image description here

知道为什么会发生这种情况吗?

附言我认为这个问题是在我对代码进行一些更改以命名我的 cookie 之后开始的。我的 API 应用程序使用社交身份验证,我决定命名这两个 cookie,即我在用户通过身份验证后从 Facebook/Google/LinkedIn 收到的 cookie 和我发布给经过身份验证的用户的 cookie。我调用从社交网站获取的 cookie social_auth_cookie我发出的那个名为 mysite_cookie .我认为这与我遇到的这个问题有关。

最佳答案

有问题的 cookie 不能合法地通过 HTTP 连接发送,因为它的 secure attribute设置。

出于某种原因,mysite_cookie其安全属性设置与 social_auth_cookie 不同,要么是因为您在代码中设置它...

var cookie = new HttpCookie("mysite_cookie", cookieValue);
cookie.Secure = true;

...或者因为服务被配置为自动设置它,例如在 web.config 中有类似的东西:
<httpCookies httpOnlyCookies="true" requireSSL="true"/>

该标志也可能由生产环境中的网络设备(例如 SSL 卸载设备)设置。但这在您的开发环境中不太可能。

我建议您尝试使用相同的代码库,但通过 https 连接。如果您正在处理影响身份验证机制的代码,您真的应该set up your development environment with SSL无论如何,否则您将错过很多错误,并且您将无法针对潜在威胁执行任何有意义的渗透测试或应用程序扫描。

关于asp.net - postman 没有使用cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46008640/

相关文章:

python - 如何在 python 中获取 selenium chrome web 驱动程序中的状态代码

python - 带有 cookie 的 HTTP POST 和 GET 用于在 python 中进行身份验证

session - 如何模拟 RESTful 服务(Grails、Shiro)的 session cookie?

C# asp.net 应用程序,对 Site.css 的更改似乎不会影响 Site.Master

asp.net - LINQ:多对多关系,从列表中选择

asp.net - 样式表对齐问题

javascript - 单击 Chrome 页面操作时如何捕获键修饰符

asp.net - 绑定(bind)到对象本身,而不是它的属性之一

javascript - 让 Chrome 应用程序窗口在屏幕右下角打开

php - 用户可以操纵cookie吗?