如何将主网站的安全会话 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);
    })