manifest.jsonにはcookieが送信されない!

最近クッキーネタ多いな。。。

なんかエラーが起きてると思ったら、manifest.json(Web App Manifest)にCookieが送られていないことが判明。

調べてみると、manifest.jsonファイルについては、オリジンによらず資格情報、 つまりCookieを送らない仕様なのだそう。(確認していないがAuthenticationヘッダも送られないような反応をネットではみかける。)

対策としては、MDNに書いてある通り、crossorigin="use-credentials"を付ければCookieが送られるようになった。

<link rel="manifest" href="/app.webmanifest" crossorigin="use-credentials">

ただ、manifest.jsonファイルの性質を考えれば、認証の対象外にしておくことにした。

なお、普通のmanifest.json以外のJSONにアクセスする範囲ではCookieは送られる。manifest.jsonファイルだけ特別の様子。

参考:https://developer.mozilla.org/ja/docs/Web/HTML/Attributes/crossorigin