如何将主网站的安全会话 cookie 传递给网络工作者并在那里使用它来调用 API
How to pass main website's secured session cookie to web worker and use it there to call APIs
我们使用安全会话 cookie,后端通过登录设置 cookie API。 Http 请求是跨源的。我想使用网络工作者进行一些计算并调用某些 APIs。尽管使用 credentials: 'include'
,cookie 仍会在 Web worker API 调用中丢失。如果我不想将 API 调用传回主线程,我该怎么办?
实际上,网络工作者 拥有 主线程 cookie,包括受保护的 cookie。要使用凭据,您应该在获取请求参数中提及 credentials: 'include'
,如下所示:
fetch('https://example.com/profile', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
// this line is important:
credentials: 'include', // include, same-origin or omit ... as your conditions
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
我们使用安全会话 cookie,后端通过登录设置 cookie API。 Http 请求是跨源的。我想使用网络工作者进行一些计算并调用某些 APIs。尽管使用 credentials: 'include'
,cookie 仍会在 Web worker API 调用中丢失。如果我不想将 API 调用传回主线程,我该怎么办?
实际上,网络工作者 拥有 主线程 cookie,包括受保护的 cookie。要使用凭据,您应该在获取请求参数中提及 credentials: 'include'
,如下所示:
fetch('https://example.com/profile', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
// this line is important:
credentials: 'include', // include, same-origin or omit ... as your conditions
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})