Cookie 未随 Web 应用 manifest.json 请求发送

emp*_*e29 16 javascript cookies progressive-web-apps web-app-manifest

我正在尝试在需要身份验证(通过 Cookie 管理的登录令牌)的网站上启用 PWA。

我正在本地(http://localhost:4502)尝试此操作并登录(并发出登录cookie)网站。

问题是当请求 Web 应用清单时,请求中没有发送 Cookie,因此请求未通过身份验证。

<link rel="manifest" href="/content/site-x/manifest.json">
Run Code Online (Sandbox Code Playgroud)

如您所见,清单与包含它的网页使用相同的主机/方案。

对清单的请求是否传递了 cookie?我什至将我的登录 cookie 设置得尽可能宽松,但没有。cookie 是在所有其他请求(JS、CSS 等)上发送的——也许 localhost 有什么特别之处吗?或者它不是http?

Ste*_*ren 29

根据https://developers.google.com/web/fundamentals/web-app-manifest/

对清单的请求是在没有任何凭据的情况下发出的(即使它在同一个域中),因此如果清单需要凭据,则必须在清单标记中包含 crossorigin="use-credentials"。

所以添加<link rel="manifest" href="/manifest.json" crossorigin="use-credentials">跨域作为在清单请求中添加服务器cookie