【问题标题】:Blazor cookies issue (Mark cross-site cookies as Secure to allow setting them in cross-site contexts)Blazor cookie 问题(将跨站点 cookie 标记为安全以允许在跨站点上下文中设置它们)
【发布时间】:2021-05-08 01:33:49
【问题描述】:
[解决阅读评论]
我在使用 asp.net core 托管的 Blazor 应用时遇到了问题。
在本地它像魅力一样工作,当它被部署时,有一个与 cookie 相关的问题,我不知道如何解决,我已经尽力了,现在寻求帮助:)
问题是:一旦用户进入登录页面,他会在控制台中收到此消息:
在这里我找到了那些 cookie 来响应
【问题讨论】:
标签:
asp.net-mvc
asp.net-core
authentication
asp.net-web-api
blazor
【解决方案1】:
Chrome 80 或更高版本默认会阻止所有第三方 cookie。如果使用HTTPS的api,请将协议切换为HTTPS,并检查响应头中的Set-Cookie是否包含SameSite=None和Secure。
如果不使用HTTPS,Chrome 80会拦截http协议下的登录功能,导致整个本地部署服务不可用。针对这种情况,在chrome中打开chrome://flags/#same-site-by-default-cookies和chrome://flags/#cookies-without-same-site-must-be-secure,设置为Disabled。
【解决方案2】:
在这种情况下没有办法解决这个问题,我已经尝试了所有方法,只有一个可以工作,那就是 SSL 证书。