我的目标是存储服务器发送的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);
});
暂无答案!
目前还没有任何答案,快来回答吧!