先说说环境,这边直接采用的是.net core 3.2 preview 1.0的blazor,头铁直接上生产项目,就遇到一个麻烦的地方了。
后端采用的是php + Cookie验证(等于没验证),本身后端是供App的后端,老板节约成本,让我直接上前端。
后来我发现,Blazor不能使用WebHttpRequest,只能使用服务注入的HttpClient。因为HttpClient的特性就是无法每次请求时都放入不同的cookie。并且由于是框架帮我们注入的
也没办法设置cookie,按道理来说,Cookie携带应该由框架处理。
但是奇特的一点就来了,微软它就没想到会有人用Cookie来做前后端分离,在我查询好几天后发现,fetch默认是不带Cookie请求的!需要自己设置
而在3.2 preview中他的设置方法是:
Blazor client-side 带Cookie请求(解决无法带Cookie请求问题)跨域请求
原文:https://www.cnblogs.com/Simplerjiang/p/12527498.html