我有一个带有API的ASP.NET Core Web应用程序,需要对用户进行身份验证。大约一个月前,我意识到我不能再使用Postman API工具了,因为即使我通过了身份验证,我的API调用也会得到响应,好像我没有经过身份验证。
当我查看cookies标签下的可用cookie时,我看到其中的四个。我认出其中一个而不是其他3个。
我在" Cookie"中看到的Cookie在进行API调用时Postman中的选项卡是:
所有四个Cookie都显示我的域名。我注意到的唯一区别是,第二个Cookie显示mydomain.com
,而其他Cookie显示.mydomain.com
。我认识到第二个,因为我将我的名字命名为my_cookie
。那个也是最大的也是有意义的,因为我在cookie中存储了一些信息。我假设我的应用添加了.AspNetCore
前缀,因为它是带有API的ASP.NET核心网络应用。
其他三个饼干是什么?我需要它们吗?
我注意到的另一件重要事情是,当我使用Fiddler检查我的API调用时,在" Cookies"在Fiddler的标签中,我只看到我无法通过API调用发送的树cookie。我没有看到我认识的是我的网站发布的那个。
看起来我的Postman问题与使用API调用发送的这三个未识别的Cookie有关,但不是我发出的那个,即我的API调用没有发送.AspNetCore.my_cookie
。
答案 0 :(得分:1)
_ga 和 _gid 用于收集Google Analytics数据。
名称 - 到期时间 - 说明
_gid - 24小时 - 用于区分用户。
_gat - 1分钟 - 用于限制请求率。
如果您想了解有关Google Analytics Cookie的更多信息,请read this
另一方面, ARRAffinity 。默认情况下,Windows Azure网站使用ARRAffinity cookie来确保用户的后续请求被路由回用户最初连接到的网站实例。换句话说,Windows Azure网站假定您的网站不是无状态的。如果您要将网站部署扩展到多个实例,ARR服务器会处理此ARR Affinity cookie并将您发送回处理初始请求的实例(发起cookie的请求)。
如果您还不熟悉这一点,请查看this blog,了解有关网站ARR亲和力的深入讨论,以及如果您的网站无国籍,如何禁用ARR亲和力。