来自 Web 的响应中未设置 Cookie API

Cookies are not set in the Response from Web API

您好,我 运行 遇到了一个奇怪的问题,那就是当我工作时,突然间来自 Web API 的响应中的 cookie 设置不正确 API。

我正在使用 Web API 5.2,它设置了一个 cookie [OWIN],客户端应用程序读取 cookie,然后通过 Cookie 身份验证中间件进行身份验证。

它工作正常,但 cookie 不是突然设置的。当我重新启动 PC 时,一切都开始正常工作。

我在更改机器中的日期时间时遇到过这个问题,但在正常情况下也会突然发生。

有人遇到过这种问题,请分享你的发现。

注意:我们使用 WebAPI 作为授权服务器,客户端应用程序是 ASP.Net MVC 5.2 应用程序。

我们使用 Redis 缓存作为会话状态管理器。

因为我们使用的是 Redis Session-State,所以我们没有正确设置 cookie。

然而,当我用谷歌搜索时,我发现 set-cookie header 正在被覆盖,因此之前设置的 cookies 丢失了。这是由于 ResponseCookies collection 被序列化到 header 的情况。

但是,建议的解决方案是在身份验证发生之前初始化 session 以开始。这已经过尝试并且工作正常。

希望这对以后可能遇到它的人有所帮助。

ASP.NET_SessionId + OWIN Cookies do not send to browser