微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Blazor Set-Cookie 无效

如何解决Blazor Set-Cookie 无效

我正在尝试在 Chrome 中运行的 Blazor WebAssembly 中设置 Cookie 身份验证。

WebApp 运行在 https://localhost:44342
WebApi 运行在 https://localhost:44377

在使用有效凭据向 https://localhost:44377/user/loginuser 发出 post 请求(使用 PostAsJsonAsync)后,WebApi 发回带有 Set-Cookie 的响应标头:.AspNetCore.Cookies=...

那个cookie似乎被浏览器拒绝了,因为

  1. 我在 F12 -> 应用程序 -> Cookies 中没有看到它
  2. 后续请求没有附加 cookie

我在网上广泛研究了这个问题。我发现了很多提示和解释。包括配置 CORS、使用 IP 代替 localhost、设置 cookie 属性(如 SameSite、HttpOnly、Expiration 和 Domain)或使用 chrome 内部结构进行进一步调查。

这些都没有帮助。浏览器仍然会忽略 Set-Cookie。

有没有人知道我该如何继续?谢谢

解决方法

我可能遇到了同样的问题。 Chrome 浏览器拒绝 cookie,因为域未使用 SSL 且 cookie 策略使用 samesite:none。

我在 IIS 中使用证书解决了(使用 HTTPS 而不是 HTTP)。我只在生产中遇到过这个问题。对于开发环境,在创建项目时,visual studio 会询问是否要注册开发证书。勾选是。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。