为什么设置cookie被google chrome忽略,标题为samesite=none?

3hvapo4f  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(337)

我的目标是存储服务器发送的cookie。我创建了一个react客户机和一个spring引导应用程序。我需要交叉来源。
根据这个问题,我需要 credentials: "same-origin" 在获取请求中。
请求的响应包含 Set-Cookie 但谷歌浏览器选择忽略它。

SESSION=MjQxNzFmN2ItMTI5NS00ODI2LTkyYTAtOTBiOWQwMWRhOTZh; Path=/; HttpOnly; SameSite=None

我的预期结果是:浏览器存储cookie。
我的实际结果是:浏览器忽略了cookie。
我所做的:
我创建了一个bean来添加 SameSite=None 去吃饼干。

@Bean
  public CookieSerializer cookieSerializer() {
    DefaultCookieSerializer serializer = new DefaultCookieSerializer();
    serializer.setCookieName("SESSION");
    serializer.setCookiePath("/");
    serializer.setDomainNamePattern("^.+?\\\\.(\\\\w+\\\\.[a-z]+)$");
    serializer.setSameSite("None");
    return serializer;
  }

我创建了一个getmapping

@GetMapping("/ping")
  public String getPing() {
    return "PONG";
  }

我发送一个提取请求

fetch(`${environment.httpBaseURL}/ping`, {
        method: "GET",
        credentials: "same-origin",
        headers: {
          authorization: `Basic ${btoa(data.username + ":" + data.password)}`,
        },
      }).then((response) => {
        console.log(response.text(), response);
      });

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题