首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >饼干不会从前端发送到后端

饼干不会从前端发送到后端
EN

Stack Overflow用户
提问于 2021-05-29 15:38:54
回答 1查看 174关注 0票数 1

我的反应前端运行在http://localhost:3000上,ASP.NET核心后端在https://localhost:44378上运行。我没有在请求中看到cookie,尽管我在Chrome中看到了它们:

以下是一些请求头:

代码语言:javascript
复制
sec-fetch-mode: cors
sec-fetch-site: cross-site

我试着自己做饼干:

代码语言:javascript
复制
HttpContext.Response.Cookies.Append("my1", "cookie.None", new CookieOptions() {
    Expires = DateTime.UtcNow.AddYears(1), SameSite = SameSiteMode.None, Secure = true,
});
HttpContext.Response.Cookies.Append("my2", "cookie.Lax", new CookieOptions() {
    Expires = DateTime.UtcNow.AddYears(1), SameSite = SameSiteMode.Lax, Secure = true,
});
HttpContext.Response.Cookies.Append("my3", "cookie.Strict", new CookieOptions() {
    Expires = DateTime.UtcNow.AddYears(1),  SameSite = SameSiteMode.Strict, Secure = true,
});

我在Chrome上看到了它们:

代码语言:javascript
复制
set-cookie: my1=cookie.None; expires=Sun, 29 May 2022 15:28:59 GMT; path=/; secure; samesite=none
set-cookie: my2=cookie.Lax; expires=Sun, 29 May 2022 15:28:59 GMT; path=/; secure; samesite=lax
set-cookie: my3=cookie.Strict; expires=Sun, 29 May 2022 15:28:59 GMT; path=/; secure; samesite=strict

但它们不会出现在上面的桌子上,也不会出现在后面。

我就是这样试着读的:

代码语言:javascript
复制
app.Use(async (context, next) =>
{
    foreach (var p in context.Request.Cookies)
    {
        log.Info($"{p.Key} - {p.Value}");
    }
    log.Info(context.Request.Path);
    await next.Invoke();
});

编辑:将前端更改为https

代码语言:javascript
复制
sec-fetch-mode: cors
sec-fetch-site: same-site

通过port should not be an issue仍然不能工作。但是当我在相同的过程中运行前端和后端时,所以不需要cors,它可以很好地工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-05 18:36:43

似乎我的请求被认为是CORS,所以我做了两件事:

服务器端的

  1. ,我在services.AddCors(...)调用中添加了.AllowCredentials()。这将access-control-allow-credentials: true添加到客户端的响应.
  2. 中,我指示axios将凭据包括在带有HTTPS=true npm start

前端的请求中,以便将它们都放在https.上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67753195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档