はじめに
localhost:5500 で Cookie をつけたら、 localhost:3001 でも返して欲しい。
Cookie に関しての以下の記事が公開された後に発生した問題です。
追記しようか迷いましたが、特異すぎるのでやめました。
問題
求める動作
localhost:5500 で Cookie をつけたら、 localhost:3001 でも Cookie を送ってほしい。
実際のコード
const cookie = {
"Set-Cookie": `sessionId=${sessionId}; HttpOnly; Max-Age=${env.SESSION_TTL}`,
};
解決
Path=/; と SameSite=Lax をつければ解決した。
記事に書いていたのになぜつけなかったのかは謎です。
const cookie = {
"Set-Cookie": `sessionId=${sessionId}; HttpOnly; Max-Age=${env.SESSION_TTL}; Path=/; SameSite=Lax`,
};
原因
そもそも Cookie はドメインによって管理されるため、ポートが違かったとしても本来は送信されるはずです。
ではなぜこのような問題が発生したのでしょうか。
単純に Path を省略すると設定したURLのディレクトリを設定するかららしいです。
例えば以下のサイトで設定したら /admin/ のレスポンスで返すようになるらしいです。
http://localhost:5500/admin/login